aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo@golang.org>2020-02-04 17:53:10 -0500
committerFilippo Valsorda <filippo@golang.org>2020-02-04 17:53:10 -0500
commitf74e68136cf1ab178c8a773ac7eafc522260f7db (patch)
treec7162dd29b0b4047a70c92e248525ac3450ce2e9
parent5d9d84d037da727dddca419120d6ce1ea77f92d3 (diff)
parentdeac3221fc4cd365fb40d269dd56551e9d354356 (diff)
downloadgo-f74e68136cf1ab178c8a773ac7eafc522260f7db.tar.gz
go-f74e68136cf1ab178c8a773ac7eafc522260f7db.zip
[dev.boringcrypto.go1.12] all: merge go1.12.16 into dev.boringcrypto.go1.12
Change-Id: I4e773f39dc51294fd43d1478fce54d286f8e2805
-rw-r--r--doc/devel/release.html86
-rw-r--r--misc/nacl/testzip.proto30
-rw-r--r--src/archive/zip/reader_test.go34
-rw-r--r--src/archive/zip/testdata/go-no-datadesc-sig.zipbin330 -> 0 bytes
-rw-r--r--src/archive/zip/testdata/go-no-datadesc-sig.zip.base641
-rw-r--r--src/cmd/go/internal/modfetch/coderepo_test.go9
-rw-r--r--src/cmd/internal/buildid/buildid_test.go41
-rwxr-xr-xsrc/cmd/internal/buildid/testdata/a.elfbin12768 -> 0 bytes
-rw-r--r--src/cmd/internal/buildid/testdata/a.elf.base641
-rwxr-xr-xsrc/cmd/internal/buildid/testdata/a.machobin13472 -> 0 bytes
-rw-r--r--src/cmd/internal/buildid/testdata/a.macho.base641
-rwxr-xr-xsrc/cmd/internal/buildid/testdata/a.pebin3584 -> 0 bytes
-rw-r--r--src/cmd/internal/buildid/testdata/a.pe.base641
-rw-r--r--src/cmd/internal/buildid/testdata/p.abin682 -> 0 bytes
-rw-r--r--src/cmd/internal/buildid/testdata/p.a.base641
-rw-r--r--src/cmd/nm/nm_test.go15
-rw-r--r--src/cmd/vendor/README8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go392
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go152
-rwxr-xr-xsrc/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/build_mac.sh31
-rwxr-xr-xsrc/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64bin9503 -> 0 bytes
-rwxr-xr-xsrc/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64bin8648 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Info.plist20
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Resources/DWARF/exe_mac_64bin8840 -> 0 bytes
-rwxr-xr-xsrc/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer34
-rwxr-xr-xsrc/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64bin4496 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Info.plist20
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Resources/DWARF/lib_mac_64bin8934 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_elf1
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_macho1
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go1606
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go758
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/interactive_test.go316
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention24
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.cpubin24405 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention19
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file1000.src17
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file2000.src17
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file3000.src17
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.crc32.cpubin5032 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.nomappings.crashbin232 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot10
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore9
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind99
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.callgrind88
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments1
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide7
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show7
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide5
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.tree.show_from16
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm14
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.noinlines.text7
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist106
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.filefunctions.noinlines.text5
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.call_tree.dot21
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.dot20
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.noinlines.text5
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.text8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.lines.topproto3
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.peek13
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags13
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags.focus.ignore6
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.traces32
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpusmall.flat.addresses.tree17
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.callgrind88
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.comments2
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.lines.tree.focus21
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.relative_percentages.tree.focus21
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.seconds.text2
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text5
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text.focus8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_objects.text8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus13
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus.ignore16
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.lines.dot.focus21
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags6
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags.unit6
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_objects.text8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot14
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.focus18
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.hide11
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_request.tags.focus8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_sizetags.dot30
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_tags.traces32
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.dot9
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.text5
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.unknown.flat.functions.call_tree.text8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go285
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go102
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go335
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go471
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot7
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot7
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot11
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot4
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot11
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot7
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go47
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go414
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go185
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md10
-rwxr-xr-xsrc/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.binbin2342380 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.cpubin1836 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample/sample.go41
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.dot17
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.rpt49
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source119
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source219
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go300
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go169
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/filter_test.go599
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/index_test.go114
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/legacy_profile_test.go321
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/merge_test.go167
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/profile_test.go1381
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/proto_test.go171
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/prune_test.go230
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention24
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention.string65
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpubin23631 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpu.string179
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth99
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth.string248
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap47
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap.string237
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread29
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all33
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all.string28
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none27
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none.string50
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.string33
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpubin5032 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpu.string87
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread8
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread.string37
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpubin8248 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpu.string415
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap16
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap.string137
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention43
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention.string43
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpubin3537 -> 0 bytes
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpu.string78
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap133
-rw-r--r--src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap.string139
-rw-r--r--src/cmd/vendor/github.com/ianlancetaylor/demangle/ast_test.go42
-rw-r--r--src/cmd/vendor/github.com/ianlancetaylor/demangle/demangle_test.go420
-rw-r--r--src/cmd/vendor/github.com/ianlancetaylor/demangle/expected_test.go183
-rw-r--r--src/cmd/vendor/github.com/ianlancetaylor/demangle/testdata/demangle-expected4594
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm/armasm/decode_test.go69
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm/armasm/ext_test.go615
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm/armasm/objdump_test.go268
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm/armasm/objdumpext_test.go259
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/Makefile5
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/decode.txt1600
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/decode_test.go88
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/ext_test.go604
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go162
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdumpext_test.go299
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/Makefile9
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/gnucases.txt4651
-rw-r--r--src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/plan9cases.txt4564
-rw-r--r--src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/decode_test.go64
-rw-r--r--src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/ext_test.go536
-rw-r--r--src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/field_test.go60
-rw-r--r--src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdump_test.go133
-rw-r--r--src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdumpext_test.go255
-rw-r--r--src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/testdata/decode.txt56
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/decode_test.go71
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/ext_test.go811
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/format_test.go68
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/inst_test.go20
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdump_test.go385
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdumpext_test.go313
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9ext_test.go119
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9x_test.go54
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/Makefile12
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/decode.txt6771
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/libmach8db.c2075
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/xed_test.go211
-rw-r--r--src/cmd/vendor/golang.org/x/arch/x86/x86asm/xedext_test.go205
-rw-r--r--src/cmd/vendor/golang.org/x/crypto/ssh/terminal/terminal_test.go358
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/creds_test.go134
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/darwin_test.go210
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/dev_linux_test.go56
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/example_exec_test.go19
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/example_flock_test.go25
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/export_test.go9
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/mmap_unix_test.go41
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/openbsd_test.go113
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/sendfile_test.go98
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_aix_test.go162
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd_test.go89
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_test.go63
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go312
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_test.go484
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_test.go51
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_test.go49
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris_test.go55
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_test.go60
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go677
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/timestruct_test.go54
-rw-r--r--src/cmd/vendor/golang.org/x/sys/unix/xattr_test.go207
-rw-r--r--src/cmd/vendor/golang.org/x/sys/windows/registry/export_test.go11
-rw-r--r--src/cmd/vendor/golang.org/x/sys/windows/registry/registry_test.go756
-rw-r--r--src/cmd/vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go51
-rw-r--r--src/cmd/vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go282
-rw-r--r--src/cmd/vendor/golang.org/x/sys/windows/svc/svc_test.go131
-rw-r--r--src/cmd/vendor/golang.org/x/sys/windows/syscall_test.go53
-rw-r--r--src/cmd/vendor/golang.org/x/sys/windows/syscall_windows_test.go92
-rw-r--r--src/compress/gzip/gunzip_test.go10
-rw-r--r--src/compress/gzip/testdata/issue6550.gzbin65536 -> 0 bytes
-rw-r--r--src/compress/gzip/testdata/issue6550.gz.base641
-rw-r--r--src/crypto/x509/root_windows.go20
-rw-r--r--src/debug/macho/file_test.go61
-rw-r--r--src/debug/macho/testdata/clang-386-darwin-exec-with-rpathbin8416 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/clang-386-darwin-exec-with-rpath.base641
-rw-r--r--src/debug/macho/testdata/clang-386-darwin.objbin464 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/clang-386-darwin.obj.base641
-rw-r--r--src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpathbin8432 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath.base641
-rw-r--r--src/debug/macho/testdata/clang-amd64-darwin.objbin768 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/clang-amd64-darwin.obj.base641
-rw-r--r--src/debug/macho/testdata/fat-gcc-386-amd64-darwin-execbin28992 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec.base641
-rw-r--r--src/debug/macho/testdata/gcc-386-darwin-execbin12588 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/gcc-386-darwin-exec.base641
-rw-r--r--src/debug/macho/testdata/gcc-amd64-darwin-execbin8512 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/gcc-amd64-darwin-exec-debugbin4540 -> 0 bytes
-rw-r--r--src/debug/macho/testdata/gcc-amd64-darwin-exec-debug.base641
-rw-r--r--src/debug/macho/testdata/gcc-amd64-darwin-exec.base641
-rw-r--r--src/go/build/deps_test.go9
-rw-r--r--src/internal/obscuretestdata/obscuretestdata.go51
-rw-r--r--src/internal/x/crypto/cryptobyte/asn1.go5
-rw-r--r--src/internal/x/crypto/cryptobyte/asn1_test.go4
-rw-r--r--src/internal/x/crypto/cryptobyte/string.go7
-rw-r--r--src/net/http/transport.go7
-rw-r--r--src/net/http/transport_test.go41
-rw-r--r--src/runtime/memmove_arm64.s42
-rw-r--r--src/runtime/os_windows.go94
-rw-r--r--src/runtime/syscall_windows.go12
-rw-r--r--src/runtime/type.go2
243 files changed, 464 insertions, 47524 deletions
diff --git a/doc/devel/release.html b/doc/devel/release.html
index 7cfac9dba2..38a9040d5e 100644
--- a/doc/devel/release.html
+++ b/doc/devel/release.html
@@ -36,7 +36,7 @@ Read the <a href="/doc/go1.12">Go 1.12 Release Notes</a> for more information.
go1.12.1 (released 2019/03/14) includes fixes to cgo, the compiler, the go
command, and the <code>fmt</code>, <code>net/smtp</code>, <code>os</code>,
<code>path/filepath</code>, <code>sync</code>, and <code>text/template</code>
-packages. See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.1">Go
+packages. See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.1+label%3ACherryPickApproved">Go
1.12.1 milestone</a> on our issue tracker for details.
</p>
@@ -44,7 +44,7 @@ packages. See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1
go1.12.2 (released 2019/04/05) includes fixes to the compiler, the go
command, the runtime, and the <code>doc</code>, <code>net</code>,
<code>net/http/httputil</code>, and <code>os</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.2">Go
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.2+label%3ACherryPickApproved">Go
1.12.2 milestone</a> on our issue tracker for details.
</p>
@@ -65,7 +65,7 @@ Only Linux users who hit this issue need to update.
<p>
go1.12.5 (released 2019/05/06) includes fixes to the compiler, the linker,
the go command, the runtime, and the <code>os</code> package. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.5">Go
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.5+label%3ACherryPickApproved">Go
1.12.5 milestone</a> on our issue tracker for details.
</p>
@@ -73,21 +73,21 @@ the go command, the runtime, and the <code>os</code> package. See the
go1.12.6 (released 2019/06/11) includes fixes to the compiler, the linker,
the go command, and the <code>crypto/x509</code>, <code>net/http</code>, and
<code>os</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.6">Go
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.6+label%3ACherryPickApproved">Go
1.12.6 milestone</a> on our issue tracker for details.
</p>
<p>
go1.12.7 (released 2019/07/08) includes fixes to cgo, the compiler,
and the linker.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.7">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.7+label%3ACherryPickApproved">Go
1.12.7 milestone</a> on our issue tracker for details.
</p>
<p>
go1.12.8 (released 2019/08/13) includes security fixes to the
<code>net/http</code> and <code>net/url</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.8">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.8+label%3ACherryPickApproved">Go
1.12.8 milestone</a> on our issue tracker for details.
</p>
@@ -101,21 +101,21 @@ See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.9+labe
<p>
go1.12.10 (released 2019/09/25) includes security fixes to the
<code>net/http</code> and <code>net/textproto</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.10">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.10+label%3ACherryPickApproved">Go
1.12.10 milestone</a> on our issue tracker for details.
</p>
<p>
go1.12.11 (released 2019/10/17) includes security fixes to the
<code>crypto/dsa</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.11">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.11+label%3ACherryPickApproved">Go
1.12.11 milestone</a> on our issue tracker for details.
</p>
<p>
go1.12.12 (released 2019/10/17) includes fixes to the go command,
runtime, <code>syscall</code> and <code>net</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.12">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.12+label%3ACherryPickApproved">Go
1.12.12 milestone</a> on our issue tracker for details.
</p>
@@ -126,6 +126,26 @@ where the non-notarized installer and binaries were being
Only macOS users who hit this issue need to update.
</p>
+<p>
+go1.12.14 (released 2019/12/04) includes a fix to the runtime. See
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.14+label%3ACherryPickApproved">Go
+1.12.14 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.15 (released 2020/01/09) includes fixes to the runtime and
+the <code>net/http</code> package. See
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.15+label%3ACherryPickApproved">Go
+1.12.15 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.16 (released 2020/01/28) includes two security fixes to
+the <code>crypto/x509</code> package. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.16+label%3ACherryPickApproved">Go
+1.12.16 milestone</a> on our issue tracker for details.
+</p>
+
<h2 id="go1.11">go1.11 (released 2018/08/24)</h2>
<p>
@@ -140,7 +160,7 @@ go1.11.1 (released 2018/10/01) includes fixes to the compiler, documentation, go
command, runtime, and the <code>crypto/x509</code>, <code>encoding/json</code>,
<code>go/types</code>, <code>net</code>, <code>net/http</code>, and
<code>reflect</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.1">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.1+label%3ACherryPickApproved">Go
1.11.1 milestone</a> on our issue tracker for details.
</p>
@@ -148,14 +168,14 @@ See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.1">Go
go1.11.2 (released 2018/11/02) includes fixes to the compiler, linker,
documentation, go command, and the <code>database/sql</code> and
<code>go/types</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.2">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.2+label%3ACherryPickApproved">Go
1.11.2 milestone</a> on our issue tracker for details.
</p>
<p>
go1.11.3 (released 2018/12/12) includes three security fixes to "go get" and
the <code>crypto/x509</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.3">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.3+label%3ACherryPickApproved">Go
1.11.3 milestone</a> on our issue tracker for details.
</p>
@@ -172,7 +192,7 @@ See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.4+labe
<p>
go1.11.5 (released 2019/01/23) includes a security fix to the
<code>crypto/elliptic</code> package. See
-the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.5">Go
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.5+label%3ACherryPickApproved">Go
1.11.5 milestone</a> on our issue tracker for details.
</p>
@@ -180,14 +200,14 @@ the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.5">Go
go1.11.6 (released 2019/03/14) includes fixes to cgo, the compiler, linker,
runtime, go command, and the <code>crypto/x509</code>, <code>encoding/json</code>,
<code>net</code>, and <code>net/url</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.6">Go
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.6+label%3ACherryPickApproved">Go
1.11.6 milestone</a> on our issue tracker for details.
</p>
<p>
go1.11.7 (released 2019/04/05) includes fixes to the runtime and the
<code>net</code> packages. See the
-<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.7">Go
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.7+label%3ACherryPickApproved">Go
1.11.7 milestone</a> on our issue tracker for details.
</p>
@@ -207,26 +227,26 @@ Only Linux users who hit this issue need to update.
<p>
go1.11.10 (released 2019/05/06) includes fixes to the runtime and the linker.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.10">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.10+label%3ACherryPickApproved">Go
1.11.10 milestone</a> on our issue tracker for details.
</p>
<p>
go1.11.11 (released 2019/06/11) includes a fix to the <code>crypto/x509</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.11">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.11+label%3ACherryPickApproved">Go
1.11.11 milestone</a> on our issue tracker for details.
</p>
<p>
go1.11.12 (released 2019/07/08) includes fixes to the compiler and the linker.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.12">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.12+label%3ACherryPickApproved">Go
1.11.12 milestone</a> on our issue tracker for details.
</p>
<p>
go1.11.13 (released 2019/08/13) includes security fixes to the
<code>net/http</code> and <code>net/url</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.13">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.13+label%3ACherryPickApproved">Go
1.11.13 milestone</a> on our issue tracker for details.
</p>
@@ -244,14 +264,14 @@ go1.10.1 (released 2018/03/28) includes fixes to the compiler, runtime, and the
<code>archive/zip</code>, <code>crypto/tls</code>, <code>crypto/x509</code>,
<code>encoding/json</code>, <code>net</code>, <code>net/http</code>, and
<code>net/http/pprof</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.1">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.1+label%3ACherryPickApproved">Go
1.10.1 milestone</a> on our issue tracker for details.
</p>
<p>
go1.10.2 (released 2018/05/01) includes fixes to the compiler, linker, and go
command.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.2">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.2+label%3ACherryPickApproved">Go
1.10.2 milestone</a> on our issue tracker for details.
</p>
@@ -260,7 +280,7 @@ go1.10.3 (released 2018/06/05) includes fixes to the go command, and the
<code>crypto/tls</code>, <code>crypto/x509</code>, and <code>strings</code> packages.
In particular, it adds <a href="https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9">
minimal support to the go command for the vgo transition</a>.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.3">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.3+label%3ACherryPickApproved">Go
1.10.3 milestone</a> on our issue tracker for details.
</p>
@@ -268,14 +288,14 @@ See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.3">Go
go1.10.4 (released 2018/08/24) includes fixes to the go command, linker, and the
<code>net/http</code>, <code>mime/multipart</code>, <code>ld/macho</code>,
<code>bytes</code>, and <code>strings</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.4">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.4+label%3ACherryPickApproved">Go
1.10.4 milestone</a> on our issue tracker for details.
</p>
<p>
go1.10.5 (released 2018/11/02) includes fixes to the go command, linker, runtime
and the <code>database/sql</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.5">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.5+label%3ACherryPickApproved">Go
1.10.5 milestone</a> on our issue tracker for details.
</p>
@@ -283,7 +303,7 @@ See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.5">Go
go1.10.6 (released 2018/12/12) includes three security fixes to "go get" and
the <code>crypto/x509</code> package.
It contains the same fixes as Go 1.11.3 and was released at the same time.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.6">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.6+label%3ACherryPickApproved">Go
1.10.6 milestone</a> on our issue tracker for details.
</p>
@@ -298,7 +318,7 @@ Go 1.10.7 milestone</a> on our issue tracker for details.
<p>
go1.10.8 (released 2019/01/23) includes a security fix to the
<code>crypto/elliptic</code> package. See
-the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.8">Go
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.8+label%3ACherryPickApproved">Go
1.10.8 milestone</a> on our issue tracker for details.
</p>
@@ -313,7 +333,7 @@ Read the <a href="/doc/go1.9">Go 1.9 Release Notes</a> for more information.
<p>
go1.9.1 (released 2017/10/04) includes two security fixes.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.1">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.1+label%3ACherryPickApproved">Go
1.9.1 milestone</a> on our issue tracker for details.
</p>
@@ -324,7 +344,7 @@ and the <code>crypto/x509</code>, <code>database/sql</code>, <code>log</code>,
and <code>net/smtp</code> packages.
It includes a fix to a bug introduced in Go 1.9.1 that broke <code>go</code> <code>get</code>
of non-Git repositories under certain conditions.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.2">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.2+label%3ACherryPickApproved">Go
1.9.2 milestone</a> on our issue tracker for details.
</p>
@@ -332,26 +352,26 @@ See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.2">Go
go1.9.3 (released 2018/01/22) includes fixes to the compiler, runtime,
and the <code>database/sql</code>, <code>math/big</code>, <code>net/http</code>,
and <code>net/url</code> packages.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.3">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.3+label%3ACherryPickApproved">Go
1.9.3 milestone</a> on our issue tracker for details.
</p>
<p>
go1.9.4 (released 2018/02/07) includes a security fix to “go getâ€.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.4">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.4+label%3ACherryPickApproved">Go
1.9.4</a> milestone on our issue tracker for details.
</p>
<p>
go1.9.5 (released 2018/03/28) includes fixes to the compiler, go command, and
<code>net/http/pprof</code> package.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.5">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.5+label%3ACherryPickApproved">Go
1.9.5 milestone</a> on our issue tracker for details.
</p>
<p>
go1.9.6 (released 2018/05/01) includes fixes to the compiler and go command.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.6">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.6+label%3ACherryPickApproved">Go
1.9.6 milestone</a> on our issue tracker for details.
</p>
@@ -360,7 +380,7 @@ go1.9.7 (released 2018/06/05) includes fixes to the go command, and the
<code>crypto/x509</code>, and <code>strings</code> packages.
In particular, it adds <a href="https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9">
minimal support to the go command for the vgo transition</a>.
-See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.7">Go
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.7+label%3ACherryPickApproved">Go
1.9.7 milestone</a> on our issue tracker for details.
</p>
diff --git a/misc/nacl/testzip.proto b/misc/nacl/testzip.proto
index d05219364d..19b8ceae69 100644
--- a/misc/nacl/testzip.proto
+++ b/misc/nacl/testzip.proto
@@ -48,43 +48,33 @@ go src=..
pprof
internal
binutils
- testdata
- +
+ +
driver
- testdata
- +
+ +
graph
- testdata
- +
+ +
report
- testdata
- +
- profile
- testdata
+
+ profile
+ +
ianlancetaylor
demangle
- testdata
- +
+ +
golang.org
x
arch
arm
armasm
- testdata
- +
+ +
arm64
arm64asm
- testdata
- +
+ +
x86
x86asm
- testdata
- +
+ +
ppc64
ppc64asm
- testdata
- +
+ +
archive
tar
testdata
diff --git a/src/archive/zip/reader_test.go b/src/archive/zip/reader_test.go
index 6b3f2f33bb..a53c602604 100644
--- a/src/archive/zip/reader_test.go
+++ b/src/archive/zip/reader_test.go
@@ -8,6 +8,7 @@ import (
"bytes"
"encoding/binary"
"encoding/hex"
+ "internal/obscuretestdata"
"io"
"io/ioutil"
"os"
@@ -19,11 +20,12 @@ import (
)
type ZipTest struct {
- Name string
- Source func() (r io.ReaderAt, size int64) // if non-nil, used instead of testdata/<Name> file
- Comment string
- File []ZipTestFile
- Error error // the error that Opening this file should return
+ Name string
+ Source func() (r io.ReaderAt, size int64) // if non-nil, used instead of testdata/<Name> file
+ Comment string
+ File []ZipTestFile
+ Obscured bool // needed for Apple notarization (golang.org/issue/34986)
+ Error error // the error that Opening this file should return
}
type ZipTestFile struct {
@@ -189,8 +191,12 @@ var tests = []ZipTest{
},
{
// created by Go, before we wrote the "optional" data
- // descriptor signatures (which are required by OS X)
- Name: "go-no-datadesc-sig.zip",
+ // descriptor signatures (which are required by macOS).
+ // Use obscured file to avoid Apple’s notarization service
+ // rejecting the toolchain due to an inability to unzip this archive.
+ // See golang.org/issue/34986
+ Name: "go-no-datadesc-sig.zip.base64",
+ Obscured: true,
File: []ZipTestFile{
{
Name: "foo.txt",
@@ -208,7 +214,7 @@ var tests = []ZipTest{
},
{
// created by Go, after we wrote the "optional" data
- // descriptor signatures (which are required by OS X)
+ // descriptor signatures (which are required by macOS)
Name: "go-with-datadesc-sig.zip",
File: []ZipTestFile{
{
@@ -496,8 +502,18 @@ func readTestZip(t *testing.T, zt ZipTest) {
rat, size := zt.Source()
z, err = NewReader(rat, size)
} else {
+ path := filepath.Join("testdata", zt.Name)
+ if zt.Obscured {
+ tf, err := obscuretestdata.DecodeToTempFile(path)
+ if err != nil {
+ t.Errorf("obscuretestdata.DecodeToTempFile(%s): %v", path, err)
+ return
+ }
+ defer os.Remove(tf)
+ path = tf
+ }
var rc *ReadCloser
- rc, err = OpenReader(filepath.Join("testdata", zt.Name))
+ rc, err = OpenReader(path)
if err == nil {
defer rc.Close()
z = &rc.Reader
diff --git a/src/archive/zip/testdata/go-no-datadesc-sig.zip b/src/archive/zip/testdata/go-no-datadesc-sig.zip
deleted file mode 100644
index c3d593f44f..0000000000
--- a/src/archive/zip/testdata/go-no-datadesc-sig.zip
+++ /dev/null
Binary files differ
diff --git a/src/archive/zip/testdata/go-no-datadesc-sig.zip.base64 b/src/archive/zip/testdata/go-no-datadesc-sig.zip.base64
new file mode 100644
index 0000000000..1c2c071fbe
--- /dev/null
+++ b/src/archive/zip/testdata/go-no-datadesc-sig.zip.base64
@@ -0,0 +1 @@
+UEsDBBQACAAAAGWHaECoZTJ+BAAAAAQAAAAHABgAZm9vLnR4dFVUBQAD3lVZT3V4CwABBPUBAAAEFAAAAGZvbwqoZTJ+BAAAAAQAAABQSwMEFAAIAAAAZodoQOmzogQEAAAABAAAAAcAGABiYXIudHh0VVQFAAPgVVlPdXgLAAEE9QEAAAQUAAAAYmFyCumzogQEAAAABAAAAFBLAQIUAxQACAAAAGWHaECoZTJ+BAAAAAQAAAAHABgAAAAAAAAAAACkgQAAAABmb28udHh0VVQFAAPeVVlPdXgLAAEE9QEAAAQUAAAAUEsBAhQDFAAIAAAAZodoQOmzogQEAAAABAAAAAcAGAAAAAAAAAAAAKSBTQAAAGJhci50eHRVVAUAA+BVWU91eAsAAQT1AQAABBQAAABQSwUGAAAAAAIAAgCaAAAAmgAAAAAA
diff --git a/src/cmd/go/internal/modfetch/coderepo_test.go b/src/cmd/go/internal/modfetch/coderepo_test.go
index f9d19f751e..f2e44a00cd 100644
--- a/src/cmd/go/internal/modfetch/coderepo_test.go
+++ b/src/cmd/go/internal/modfetch/coderepo_test.go
@@ -284,15 +284,6 @@ var codeRepoTests = []struct {
gomod: "module gopkg.in/check.v1\n",
},
{
- path: "gopkg.in/yaml.v2",
- rev: "v2",
- version: "v2.2.5-0.20191002202810-970885f01c8b",
- name: "970885f01c8bc1fecb7ab1c8ce8e7609bda45530",
- short: "970885f01c8b",
- time: time.Date(2019, 10, 2, 20, 28, 10, 0, time.UTC),
- gomod: "module \"gopkg.in/yaml.v2\"\n\nrequire (\n\t\"gopkg.in/check.v1\" v0.0.0-20161208181325-20d25e280405\n)\n",
- },
- {
path: "vcs-test.golang.org/go/mod/gitrepo1",
rev: "master",
version: "v1.2.4-annotated",
diff --git a/src/cmd/internal/buildid/buildid_test.go b/src/cmd/internal/buildid/buildid_test.go
index 15481dd762..904c2c6f37 100644
--- a/src/cmd/internal/buildid/buildid_test.go
+++ b/src/cmd/internal/buildid/buildid_test.go
@@ -7,6 +7,7 @@ package buildid
import (
"bytes"
"crypto/sha256"
+ "internal/obscuretestdata"
"io/ioutil"
"os"
"reflect"
@@ -19,13 +20,6 @@ const (
)
func TestReadFile(t *testing.T) {
- var files = []string{
- "p.a",
- "a.elf",
- "a.macho",
- "a.pe",
- }
-
f, err := ioutil.TempFile("", "buildid-test-")
if err != nil {
t.Fatal(err)
@@ -34,26 +28,43 @@ func TestReadFile(t *testing.T) {
defer os.Remove(tmp)
f.Close()
- for _, f := range files {
- id, err := ReadFile("testdata/" + f)
+ // Use obscured files to prevent Apple’s notarization service from
+ // mistaking them as candidates for notarization and rejecting the entire
+ // toolchain.
+ // See golang.org/issue/34986
+ var files = []string{
+ "p.a.base64",
+ "a.elf.base64",
+ "a.macho.base64",
+ "a.pe.base64",
+ }
+
+ for _, name := range files {
+ f, err := obscuretestdata.DecodeToTempFile("testdata/" + name)
+ if err != nil {
+ t.Errorf("obscuretestdata.DecodeToTempFile(testdata/%s): %v", name, err)
+ continue
+ }
+ defer os.Remove(f)
+ id, err := ReadFile(f)
if id != expectedID || err != nil {
t.Errorf("ReadFile(testdata/%s) = %q, %v, want %q, nil", f, id, err, expectedID)
}
old := readSize
readSize = 2048
- id, err = ReadFile("testdata/" + f)
+ id, err = ReadFile(f)
readSize = old
if id != expectedID || err != nil {
- t.Errorf("ReadFile(testdata/%s) [readSize=2k] = %q, %v, want %q, nil", f, id, err, expectedID)
+ t.Errorf("ReadFile(%s) [readSize=2k] = %q, %v, want %q, nil", f, id, err, expectedID)
}
- data, err := ioutil.ReadFile("testdata/" + f)
+ data, err := ioutil.ReadFile(f)
if err != nil {
t.Fatal(err)
}
m, _, err := FindAndHash(bytes.NewReader(data), expectedID, 1024)
if err != nil {
- t.Errorf("FindAndHash(testdata/%s): %v", f, err)
+ t.Errorf("FindAndHash(%s): %v", f, err)
continue
}
if err := ioutil.WriteFile(tmp, data, 0666); err != nil {
@@ -68,7 +79,7 @@ func TestReadFile(t *testing.T) {
err = Rewrite(tf, m, newID)
err2 := tf.Close()
if err != nil {
- t.Errorf("Rewrite(testdata/%s): %v", f, err)
+ t.Errorf("Rewrite(%s): %v", f, err)
continue
}
if err2 != nil {
@@ -77,7 +88,7 @@ func TestReadFile(t *testing.T) {
id, err = ReadFile(tmp)
if id != newID || err != nil {
- t.Errorf("ReadFile(testdata/%s after Rewrite) = %q, %v, want %q, nil", f, id, err, newID)
+ t.Errorf("ReadFile(%s after Rewrite) = %q, %v, want %q, nil", f, id, err, newID)
}
}
}
diff --git a/src/cmd/internal/buildid/testdata/a.elf b/src/cmd/internal/buildid/testdata/a.elf
deleted file mode 100755
index f63128921a..0000000000
--- a/src/cmd/internal/buildid/testdata/a.elf
+++ /dev/null
Binary files differ
diff --git a/src/cmd/internal/buildid/testdata/a.elf.base64 b/src/cmd/internal/buildid/testdata/a.elf.base64
new file mode 100644
index 0000000000..fa85521735
--- /dev/null
+++ b/src/cmd/internal/buildid/testdata/a.elf.base64
@@ -0,0 +1 @@
+f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAABBAAAAAAABAAAAAAAAAAMgBAAAAAAAAAAAAAEAAOAAHAEAADQADAAYAAAAEAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAAiAEAAAAAAACIAQAAAAAAAAAQAAAAAAAABAAAAAQAAACUDwAAAAAAAJQPQAAAAAAAlA9AAAAAAABsAAAAAAAAAGwAAAAAAAAABAAAAAAAAAABAAAABQAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAABAQAAAAAAAAEBAAAAAAAAAAEAAAAAAAAAEAAAAEAAAAACAAAAAAAAAAIEAAAAAAAAAgQAAAAAAAfgEAAAAAAAB+AQAAAAAAAAAQAAAAAAAAAQAAAAYAAAAAMAAAAAAAAAAwQAAAAAAAADBAAAAAAADgAQAAAAAAAOABAAAAAAAAABAAAAAAAABR5XRkBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAIAVBGUAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAABgAAAAAAAAAAEEAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABBAAAAAQAAAAIAAAAAAAAAACBAAAAAAAAAIAAAAAAAADgAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAcgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAQCAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEkAAAABAAAAAgAAAAAAAAC8IEAAAAAAALwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABTAAAAAQAAAAIAAAAAAAAAvCBAAAAAAAC8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAEAAAACAAAAAAAAALwgQAAAAAAAvCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAGcAAAABAAAAAgAAAAAAAADAIEAAAAAAAMAgAAAAAAAAvgAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAMAAAAAAAAAADBAAAAAAAAAMAAAAAAAAOABAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAEgAAAAgAAAADAAAAAAAAAOAxQAAAAAAA4DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAAAwAAAAAAAADgMUAAAAAAAOAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAACAAAAAMAAAAAAAAA4DFAAAAAAADgMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwAAAAcAAAACAAAAAAAAAJQPQAAAAAAAlA8AAAAAAABsAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABbAAAABAAAAEdvAABhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0AMPMzMzMzMzMzMzMzMzMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAC50ZXh0AC5ub3B0cmRhdGEALmRhdGEALmJzcwAubm9wdHJic3MALm5vdGUuZ28uYnVpbGRpZAAuZWxmZGF0YQAucm9kYXRhAC50eXBlbGluawAuaXRhYmxpbmsALmdvc3ltdGFiAC5nb3BjbG50YWIALnNoc3RydGFiAAAAAAD7////AAABCAEAAAAAAAAAABBAAAAAAAAwAAAAAAAAAAEQQAAAAAAAgAAAAAAAAAAAEEAAAAAAAGgAAAAAAAAAZ0UjAXMAAAB2AAAAeQAAAAAAAAACAAAAACBAAAAAAAAAIEAAAAAAAG1haW4ubWFpbgAAAgEABAEABgEAAAAAAAIAAACIAAAAL1VzZXJzL3JzYy9nby9zcmMvY21kL2ludGVybmFsL2J1aWxkaWQvdGVzdGRhdGEvcC5nbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAIEAAAAAAAL4AAAAAAAAAvgAAAAAAAADQIEAAAAAAAAIAAAAAAAAAAgAAAAAAAABAIUAAAAAAAAIAAAAAAAAAAgAAAAAAAAAMIEAAAAAAAAAQQAAAAAAAARBAAAAAAAAAEEAAAAAAABAQQAAAAAAAADBAAAAAAADgMUAAAAAAAOAxQAAAAAAA4DFAAAAAAADgMUAAAAAAAOAxQAAAAAAA4DFAAAAAAADgMUAAAAAAAOAxQAAAAAAACSBAAAAAAAAIIEAAAAAAAAAgQAAAAAAAOCBAAAAAAAAgIEAAAAAAAAEAAAAAAAAAAQAAAAAAAAC8IEAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8IEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
diff --git a/src/cmd/internal/buildid/testdata/a.macho b/src/cmd/internal/buildid/testdata/a.macho
deleted file mode 100755
index fbbd57c1fe..0000000000
--- a/src/cmd/internal/buildid/testdata/a.macho
+++ /dev/null
Binary files differ
diff --git a/src/cmd/internal/buildid/testdata/a.macho.base64 b/src/cmd/internal/buildid/testdata/a.macho.base64
new file mode 100644
index 0000000000..2e9f6a7dff
--- /dev/null
+++ b/src/cmd/internal/buildid/testdata/a.macho.base64
@@ -0,0 +1 @@
+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8gR28gYnVpbGQgSUQ6ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0Igog/8zDzMzMzMzMzMzMzMzMzMzMAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAABAAAQAAAAAAAAAAAAAAAPv///8AAAEIAgAAAAAAAAAAEAABAAAAAEAAAAAAAAAAcBAAAQAAAAB4AAAAAAAAAHEQAAEAAAAAyAAAAAAAAAAAEAABAAAAAGgAAAAAAAAAZ0UjAQAAAAAAAAAAAAAAAAAAAAAAAAAAZ28uYnVpbGRpZAAAAAAAAHAQAAEAAAAAsAAAAAAAAABnRSMBuwAAAL4AAADBAAAAAAAAAAIAAACAEAABAAAAAIAQAAEAAAAAbWFpbi5tYWluAAACAQAEAQAGAQAAAAAAAgAAANAAAAAvVXNlcnMvcnNjL2dvL3NyYy9jbWQvaW50ZXJuYWwvYnVpbGRpZC90ZXN0ZGF0YS9wLmdvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAQAAEAAAAABgEAAAAAAAAGAQAAAAAAANAQAAEAAAAAAwAAAAAAAAADAAAAAAAAAIgRAAEAAAAAAgAAAAAAAAACAAAAAAAAAIwQAAEAAAAAABAAAQAAAABxEAABAAAAAAAQAAEAAAAAgBAAAQAAAAAAIAABAAAAAOAhAAEAAAAA4CEAAQAAAADgIQABAAAAAOAhAAEAAAAA4CEAAQAAAADgIQABAAAAAOAhAAEAAAAA4CEAAQAAAACJEAABAAAAAIgQAAEAAAAAgBAAAQAAAAC4EAABAAAAAKAQAAEAAAAAAQAAAAAAAAABAAAAAAAAALgQAAEAAAAAAAAAAAAAAAAAAAAAAAAAALgQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAA4BAAAAEAABAAAAAA0AAAAOAgAAgBAAAQAAAAAXAAAADgIAAIAQAAEAAAAAIwAAAA4BAABwEAABAAAAAC0AAAAOCwAA4CEAAQAAAAA5AAAADgoAAOAhAAEAAAAARgAAAA4LAADgIQABAAAAAFMAAAAOCgAA4CEAAQAAAABhAAAADgIAAIkQAAEAAAAAcAAAAA4CAACKEAABAAAAAIAAAAAOBQAAuBAAAQAAAACSAAAADgwAAOAhAAEAAAAAngAAAA4MAADgIQABAAAAALAAAAAOCQAA4CEAAQAAAADDAAAADgcAAMYRAAEAAAAA1AAAAA4CAAC4EAABAAAAAOQAAAAOBgAAuBAAAQAAAAD0AAAADgEAAIAQAAEAAAAAAgEAAA4CAAC4EAABAAAAABEBAAAOAgAAjBAAAQAAAAAlAQAADgkAACAgAAEAAAAAPQEAAA4CAACKEAABAAAAAFoBAAAOAgAAiBAAAQAAAABrAQAADgIAAIgQAAEAAAAAeQEAAA4CAACJEAABAAAAAIgBAAAOBQAAuBAAAQAAAACZAQAADgkAAAAgAAEAAAAAsQEAAA4MAADgIQABAAAAAMIBAAAOCQAAACAAAQAAAADUAQAADgcAAMAQAAEAAAAA5AEAAA4CAACAEAABAAAAAPMBAAAOBgAAuBAAAQAAAAACAgAADgEAAAAQAAEAAAAADwIAAA4CAACgEAABAAAAACYCAAAOBAAAuBAAAQAAAAA3AgAADgIAAIAQAAEAAAAARQIAAA4CAACAEAABAAAAACAAZ28uYnVpbGRpZABnby5mdW5jLioAZ28uc3RyaW5nLioAbWFpbi5tYWluAHJ1bnRpbWUuYnNzAHJ1bnRpbWUuZGF0YQBydW50aW1lLmVic3MAcnVudGltZS5lZGF0YQBydW50aW1lLmVnY2JzcwBydW50aW1lLmVnY2RhdGEAcnVudGltZS5laXRhYmxpbmsAcnVudGltZS5lbmQAcnVudGltZS5lbm9wdHJic3MAcnVudGltZS5lbm9wdHJkYXRhAHJ1bnRpbWUuZXBjbG50YWIAcnVudGltZS5lcm9kYXRhAHJ1bnRpbWUuZXN5bXRhYgBydW50aW1lLmV0ZXh0AHJ1bnRpbWUuZXR5cGVzAHJ1bnRpbWUuZmluZGZ1bmN0YWIAcnVudGltZS5maXJzdG1vZHVsZWRhdGEAcnVudGltZS5mcmFtZXBvaW50ZXJfZW5hYmxlZABydW50aW1lLmdjYml0cy4qAHJ1bnRpbWUuZ2Nic3MAcnVudGltZS5nY2RhdGEAcnVudGltZS5pdGFibGluawBydW50aW1lLmxhc3Rtb2R1bGVkYXRhcABydW50aW1lLm5vcHRyYnNzAHJ1bnRpbWUubm9wdHJkYXRhAHJ1bnRpbWUucGNsbnRhYgBydW50aW1lLnJvZGF0YQBydW50aW1lLnN5bXRhYgBydW50aW1lLnRleHQAcnVudGltZS50ZXh0c2VjdGlvbm1hcABydW50aW1lLnR5cGVsaW5rAHJ1bnRpbWUudHlwZXMAdHlwZS4qAAAAAAA=
diff --git a/src/cmd/internal/buildid/testdata/a.pe b/src/cmd/internal/buildid/testdata/a.pe
deleted file mode 100755
index 91202728c3..0000000000
--- a/src/cmd/internal/buildid/testdata/a.pe
+++ /dev/null
Binary files differ
diff --git a/src/cmd/internal/buildid/testdata/a.pe.base64 b/src/cmd/internal/buildid/testdata/a.pe.base64
new file mode 100644
index 0000000000..d3a31a3a62
--- /dev/null
+++ b/src/cmd/internal/buildid/testdata/a.pe.base64
@@ -0,0 +1 @@
+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
diff --git a/src/cmd/internal/buildid/testdata/p.a b/src/cmd/internal/buildid/testdata/p.a
deleted file mode 100644
index dcc3e76ef8..0000000000
--- a/src/cmd/internal/buildid/testdata/p.a
+++ /dev/null
Binary files differ
diff --git a/src/cmd/internal/buildid/testdata/p.a.base64 b/src/cmd/internal/buildid/testdata/p.a.base64
new file mode 100644
index 0000000000..ba96c10ca5
--- /dev/null
+++ b/src/cmd/internal/buildid/testdata/p.a.base64
@@ -0,0 +1 @@
+ITxhcmNoPgpfXy5QS0dERUYgICAgICAgMCAgICAgICAgICAgMCAgICAgMCAgICAgNjQ0ICAgICAzMzAgICAgICAgYApnbyBvYmplY3QgZGFyd2luIGFtZDY0IGRldmVsICszYjMzYWY1ZDY4IFRodSBPY3QgNSAxNjo1OTowMCAyMDE3IC0wNDAwIFg6ZnJhbWVwb2ludGVyCmJ1aWxkIGlkICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0IgotLS0tCgpidWlsZCBpZCAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXouMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNCIKCiQkQgp2ZXJzaW9uIDUKCgACAQFwAAsACwABAAokJApfZ29fLm8gICAgICAgICAgMCAgICAgICAgICAgMCAgICAgMCAgICAgNjQ0ICAgICAyMjMgICAgICAgYApnbyBvYmplY3QgZGFyd2luIGFtZDY0IGRldmVsICszYjMzYWY1ZDY4IFRodSBPY3QgNSAxNjo1OTowMCAyMDE3IC0wNDAwIFg6ZnJhbWVwb2ludGVyCmJ1aWxkIGlkICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0IgotLS0tCgoKIQoAAGdvMTlsZAEA/wAAAAAAAP//Z28xOWxkAA==
diff --git a/src/cmd/nm/nm_test.go b/src/cmd/nm/nm_test.go
index 1b5bd21ad5..1748a153d0 100644
--- a/src/cmd/nm/nm_test.go
+++ b/src/cmd/nm/nm_test.go
@@ -6,6 +6,7 @@ package main
import (
"fmt"
+ "internal/obscuretestdata"
"internal/testenv"
"io/ioutil"
"os"
@@ -57,8 +58,8 @@ func TestNonGoExecs(t *testing.T) {
testfiles := []string{
"debug/elf/testdata/gcc-386-freebsd-exec",
"debug/elf/testdata/gcc-amd64-linux-exec",
- "debug/macho/testdata/gcc-386-darwin-exec",
- "debug/macho/testdata/gcc-amd64-darwin-exec",
+ "debug/macho/testdata/gcc-386-darwin-exec.base64", // golang.org/issue/34986
+ "debug/macho/testdata/gcc-amd64-darwin-exec.base64", // golang.org/issue/34986
// "debug/pe/testdata/gcc-amd64-mingw-exec", // no symbols!
"debug/pe/testdata/gcc-386-mingw-exec",
"debug/plan9obj/testdata/amd64-plan9-exec",
@@ -67,6 +68,16 @@ func TestNonGoExecs(t *testing.T) {
}
for _, f := range testfiles {
exepath := filepath.Join(runtime.GOROOT(), "src", f)
+ if strings.HasSuffix(f, ".base64") {
+ tf, err := obscuretestdata.DecodeToTempFile(exepath)
+ if err != nil {
+ t.Errorf("obscuretestdata.DecodeToTempFile(%s): %v", exepath, err)
+ continue
+ }
+ defer os.Remove(tf)
+ exepath = tf
+ }
+
cmd := exec.Command(testnmpath, exepath)
out, err := cmd.CombinedOutput()
if err != nil {
diff --git a/src/cmd/vendor/README b/src/cmd/vendor/README
index 7eb97a1b9b..809f015949 100644
--- a/src/cmd/vendor/README
+++ b/src/cmd/vendor/README
@@ -22,4 +22,10 @@ commit by accident.
The vendored copy of golang.org/x/tools is maintained by
running the update-xtools.sh script in this directory,
-not by govendor. \ No newline at end of file
+not by govendor.
+
+Please ensure that you remove all *_test.go and testdata
+files after updating (golang.org/issue/34986).
+
+ $ cd $GOROOT/src/cmd
+ $ find vendor | grep -E '_test.go|testdata' | xargs rm -rf
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go
deleted file mode 100644
index 17d4225a87..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go
+++ /dev/null
@@ -1,392 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package binutils
-
-import (
- "bytes"
- "fmt"
- "math"
- "path/filepath"
- "reflect"
- "regexp"
- "runtime"
- "strings"
- "testing"
-
- "github.com/google/pprof/internal/plugin"
-)
-
-var testAddrMap = map[int]string{
- 1000: "_Z3fooid.clone2",
- 2000: "_ZNSaIiEC1Ev.clone18",
- 3000: "_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm",
-}
-
-func functionName(level int) (name string) {
- if name = testAddrMap[level]; name != "" {
- return name
- }
- return fmt.Sprintf("fun%d", level)
-}
-
-func TestAddr2Liner(t *testing.T) {
- const offset = 0x500
-
- a := addr2Liner{rw: &mockAddr2liner{}, base: offset}
- for i := 1; i < 8; i++ {
- addr := i*0x1000 + offset
- s, err := a.addrInfo(uint64(addr))
- if err != nil {
- t.Fatalf("addrInfo(%#x): %v", addr, err)
- }
- if len(s) != i {
- t.Fatalf("addrInfo(%#x): got len==%d, want %d", addr, len(s), i)
- }
- for l, f := range s {
- level := (len(s) - l) * 1000
- want := plugin.Frame{Func: functionName(level), File: fmt.Sprintf("file%d", level), Line: level}
-
- if f != want {
- t.Errorf("AddrInfo(%#x)[%d]: = %+v, want %+v", addr, l, f, want)
- }
- }
- }
- s, err := a.addrInfo(0xFFFF)
- if err != nil {
- t.Fatalf("addrInfo(0xFFFF): %v", err)
- }
- if len(s) != 0 {
- t.Fatalf("AddrInfo(0xFFFF): got len==%d, want 0", len(s))
- }
- a.rw.close()
-}
-
-type mockAddr2liner struct {
- output []string
-}
-
-func (a *mockAddr2liner) write(s string) error {
- var lines []string
- switch s {
- case "1000":
- lines = []string{"_Z3fooid.clone2", "file1000:1000"}
- case "2000":
- lines = []string{"_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- case "3000":
- lines = []string{"_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm", "file3000:3000", "_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- case "4000":
- lines = []string{"fun4000", "file4000:4000", "_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm", "file3000:3000", "_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- case "5000":
- lines = []string{"fun5000", "file5000:5000", "fun4000", "file4000:4000", "_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm", "file3000:3000", "_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- case "6000":
- lines = []string{"fun6000", "file6000:6000", "fun5000", "file5000:5000", "fun4000", "file4000:4000", "_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm", "file3000:3000", "_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- case "7000":
- lines = []string{"fun7000", "file7000:7000", "fun6000", "file6000:6000", "fun5000", "file5000:5000", "fun4000", "file4000:4000", "_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm", "file3000:3000", "_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- case "8000":
- lines = []string{"fun8000", "file8000:8000", "fun7000", "file7000:7000", "fun6000", "file6000:6000", "fun5000", "file5000:5000", "fun4000", "file4000:4000", "_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm", "file3000:3000", "_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- case "9000":
- lines = []string{"fun9000", "file9000:9000", "fun8000", "file8000:8000", "fun7000", "file7000:7000", "fun6000", "file6000:6000", "fun5000", "file5000:5000", "fun4000", "file4000:4000", "_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EEixEm", "file3000:3000", "_ZNSaIiEC1Ev.clone18", "file2000:2000", "_Z3fooid.clone2", "file1000:1000"}
- default:
- lines = []string{"??", "??:0"}
- }
- a.output = append(a.output, "0x"+s)
- a.output = append(a.output, lines...)
- return nil
-}
-
-func (a *mockAddr2liner) readLine() (string, error) {
- if len(a.output) == 0 {
- return "", fmt.Errorf("end of file")
- }
- next := a.output[0]
- a.output = a.output[1:]
- return next, nil
-}
-
-func (a *mockAddr2liner) close() {
-}
-
-func TestAddr2LinerLookup(t *testing.T) {
- const oddSizedData = `
-00001000 T 0x1000
-00002000 T 0x2000
-00003000 T 0x3000
-`
- const evenSizedData = `
-0000000000001000 T 0x1000
-0000000000002000 T 0x2000
-0000000000003000 T 0x3000
-0000000000004000 T 0x4000
-`
- for _, d := range []string{oddSizedData, evenSizedData} {
- a, err := parseAddr2LinerNM(0, bytes.NewBufferString(d))
- if err != nil {
- t.Errorf("nm parse error: %v", err)
- continue
- }
- for address, want := range map[uint64]string{
- 0x1000: "0x1000",
- 0x1001: "0x1000",
- 0x1FFF: "0x1000",
- 0x2000: "0x2000",
- 0x2001: "0x2000",
- } {
- if got, _ := a.addrInfo(address); !checkAddress(got, address, want) {
- t.Errorf("%x: got %v, want %s", address, got, want)
- }
- }
- for _, unknown := range []uint64{0x0fff, 0x4001} {
- if got, _ := a.addrInfo(unknown); got != nil {
- t.Errorf("%x: got %v, want nil", unknown, got)
- }
- }
- }
-}
-
-func checkAddress(got []plugin.Frame, address uint64, want string) bool {
- if len(got) != 1 {
- return false
- }
- return got[0].Func == want
-}
-
-func TestSetTools(t *testing.T) {
- // Test that multiple calls work.
- bu := &Binutils{}
- bu.SetTools("")
- bu.SetTools("")
-}
-
-func TestSetFastSymbolization(t *testing.T) {
- // Test that multiple calls work.
- bu := &Binutils{}
- bu.SetFastSymbolization(true)
- bu.SetFastSymbolization(false)
-}
-
-func skipUnlessLinuxAmd64(t *testing.T) {
- if runtime.GOOS != "linux" || runtime.GOARCH != "amd64" {
- t.Skip("This test only works on x86-64 Linux")
- }
-}
-
-func skipUnlessDarwinAmd64(t *testing.T) {
- if runtime.GOOS != "darwin" || runtime.GOARCH != "amd64" {
- t.Skip("This test only works on x86-64 Mac")
- }
-}
-
-func TestDisasm(t *testing.T) {
- skipUnlessLinuxAmd64(t)
- bu := &Binutils{}
- insts, err := bu.Disasm(filepath.Join("testdata", "exe_linux_64"), 0, math.MaxUint64)
- if err != nil {
- t.Fatalf("Disasm: unexpected error %v", err)
- }
- mainCount := 0
- for _, x := range insts {
- if x.Function == "main" {
- mainCount++
- }
- }
- if mainCount == 0 {
- t.Error("Disasm: found no main instructions")
- }
-}
-
-func findSymbol(syms []*plugin.Sym, name string) *plugin.Sym {
- for _, s := range syms {
- for _, n := range s.Name {
- if n == name {
- return s
- }
- }
- }
- return nil
-}
-
-func TestObjFile(t *testing.T) {
- skipUnlessLinuxAmd64(t)
- for _, tc := range []struct {
- desc string
- start, limit, offset uint64
- addr uint64
- }{
- {"fake mapping", 0, math.MaxUint64, 0, 0x40052d},
- {"fixed load address", 0x400000, 0x4006fc, 0, 0x40052d},
- // True user-mode ASLR binaries are ET_DYN rather than ET_EXEC so this case
- // is a bit artificial except that it approximates the
- // vmlinux-with-kernel-ASLR case where the binary *is* ET_EXEC.
- {"simulated ASLR address", 0x500000, 0x5006fc, 0, 0x50052d},
- } {
- t.Run(tc.desc, func(t *testing.T) {
- bu := &Binutils{}
- f, err := bu.Open(filepath.Join("testdata", "exe_linux_64"), tc.start, tc.limit, tc.offset)
- if err != nil {
- t.Fatalf("Open: unexpected error %v", err)
- }
- defer f.Close()
- syms, err := f.Symbols(regexp.MustCompile("main"), 0)
- if err != nil {
- t.Fatalf("Symbols: unexpected error %v", err)
- }
-
- m := findSymbol(syms, "main")
- if m == nil {
- t.Fatalf("Symbols: did not find main")
- }
- for _, addr := range []uint64{m.Start + f.Base(), tc.addr} {
- gotFrames, err := f.SourceLine(addr)
- if err != nil {
- t.Fatalf("SourceLine: unexpected error %v", err)
- }
- wantFrames := []plugin.Frame{
- {Func: "main", File: "/tmp/hello.c", Line: 3},
- }
- if !reflect.DeepEqual(gotFrames, wantFrames) {
- t.Fatalf("SourceLine for main: got %v; want %v\n", gotFrames, wantFrames)
- }
- }
- })
- }
-}
-
-func TestMachoFiles(t *testing.T) {
- skipUnlessDarwinAmd64(t)
-
- // Load `file`, pretending it was mapped at `start`. Then get the symbol
- // table. Check that it contains the symbol `sym` and that the address
- // `addr` gives the `expected` stack trace.
- for _, tc := range []struct {
- desc string
- file string
- start, limit, offset uint64
- addr uint64
- sym string
- expected []plugin.Frame
- }{
- {"normal mapping", "exe_mac_64", 0x100000000, math.MaxUint64, 0,
- 0x100000f50, "_main",
- []plugin.Frame{
- {Func: "main", File: "/tmp/hello.c", Line: 3},
- }},
- {"other mapping", "exe_mac_64", 0x200000000, math.MaxUint64, 0,
- 0x200000f50, "_main",
- []plugin.Frame{
- {Func: "main", File: "/tmp/hello.c", Line: 3},
- }},
- {"lib normal mapping", "lib_mac_64", 0, math.MaxUint64, 0,
- 0xfa0, "_bar",
- []plugin.Frame{
- {Func: "bar", File: "/tmp/lib.c", Line: 5},
- }},
- } {
- t.Run(tc.desc, func(t *testing.T) {
- bu := &Binutils{}
- f, err := bu.Open(filepath.Join("testdata", tc.file), tc.start, tc.limit, tc.offset)
- if err != nil {
- t.Fatalf("Open: unexpected error %v", err)
- }
- t.Logf("binutils: %v", bu)
- if runtime.GOOS == "darwin" && !bu.rep.addr2lineFound && !bu.rep.llvmSymbolizerFound {
- // On OSX user needs to install gaddr2line or llvm-symbolizer with
- // Homebrew, skip the test when the environment doesn't have it
- // installed.
- t.Skip("couldn't find addr2line or gaddr2line")
- }
- defer f.Close()
- syms, err := f.Symbols(nil, 0)
- if err != nil {
- t.Fatalf("Symbols: unexpected error %v", err)
- }
-
- m := findSymbol(syms, tc.sym)
- if m == nil {
- t.Fatalf("Symbols: could not find symbol %v", tc.sym)
- }
- gotFrames, err := f.SourceLine(tc.addr)
- if err != nil {
- t.Fatalf("SourceLine: unexpected error %v", err)
- }
- if !reflect.DeepEqual(gotFrames, tc.expected) {
- t.Fatalf("SourceLine for main: got %v; want %v\n", gotFrames, tc.expected)
- }
- })
- }
-}
-
-func TestLLVMSymbolizer(t *testing.T) {
- if runtime.GOOS != "linux" {
- t.Skip("testtdata/llvm-symbolizer has only been tested on linux")
- }
-
- cmd := filepath.Join("testdata", "fake-llvm-symbolizer")
- symbolizer, err := newLLVMSymbolizer(cmd, "foo", 0)
- if err != nil {
- t.Fatalf("newLLVMSymbolizer: unexpected error %v", err)
- }
- defer symbolizer.rw.close()
-
- for _, c := range []struct {
- addr uint64
- frames []plugin.Frame
- }{
- {0x10, []plugin.Frame{
- {Func: "Inlined_0x10", File: "foo.h", Line: 0},
- {Func: "Func_0x10", File: "foo.c", Line: 2},
- }},
- {0x20, []plugin.Frame{
- {Func: "Inlined_0x20", File: "foo.h", Line: 0},
- {Func: "Func_0x20", File: "foo.c", Line: 2},
- }},
- } {
- frames, err := symbolizer.addrInfo(c.addr)
- if err != nil {
- t.Errorf("LLVM: unexpected error %v", err)
- continue
- }
- if !reflect.DeepEqual(frames, c.frames) {
- t.Errorf("LLVM: expect %v; got %v\n", c.frames, frames)
- }
- }
-}
-
-func TestOpenMalformedELF(t *testing.T) {
- // Test that opening a malformed ELF file will report an error containing
- // the word "ELF".
- bu := &Binutils{}
- _, err := bu.Open(filepath.Join("testdata", "malformed_elf"), 0, 0, 0)
- if err == nil {
- t.Fatalf("Open: unexpected success")
- }
-
- if !strings.Contains(err.Error(), "ELF") {
- t.Errorf("Open: got %v, want error containing 'ELF'", err)
- }
-}
-
-func TestOpenMalformedMachO(t *testing.T) {
- // Test that opening a malformed Mach-O file will report an error containing
- // the word "Mach-O".
- bu := &Binutils{}
- _, err := bu.Open(filepath.Join("testdata", "malformed_macho"), 0, 0, 0)
- if err == nil {
- t.Fatalf("Open: unexpected success")
- }
-
- if !strings.Contains(err.Error(), "Mach-O") {
- t.Errorf("Open: got %v, want error containing 'Mach-O'", err)
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go
deleted file mode 100644
index 3563198f48..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package binutils
-
-import (
- "fmt"
- "regexp"
- "testing"
-
- "github.com/google/pprof/internal/plugin"
-)
-
-// TestFindSymbols tests the FindSymbols routine using a hardcoded nm output.
-func TestFindSymbols(t *testing.T) {
- type testcase struct {
- query, syms string
- want []plugin.Sym
- }
-
- testsyms := `0000000000001000 t lineA001
-0000000000001000 t lineA002
-0000000000001000 t line1000
-0000000000002000 t line200A
-0000000000002000 t line2000
-0000000000002000 t line200B
-0000000000003000 t line3000
-0000000000003000 t _ZNK4DumbclEPKc
-0000000000003000 t lineB00C
-0000000000003000 t line300D
-0000000000004000 t _the_end
- `
- testcases := []testcase{
- {
- "line.*[AC]",
- testsyms,
- []plugin.Sym{
- {Name: []string{"lineA001"}, File: "object.o", Start: 0x1000, End: 0x1FFF},
- {Name: []string{"line200A"}, File: "object.o", Start: 0x2000, End: 0x2FFF},
- {Name: []string{"lineB00C"}, File: "object.o", Start: 0x3000, End: 0x3FFF},
- },
- },
- {
- "Dumb::operator",
- testsyms,
- []plugin.Sym{
- {Name: []string{"Dumb::operator()(char const*) const"}, File: "object.o", Start: 0x3000, End: 0x3FFF},
- },
- },
- }
-
- for _, tc := range testcases {
- syms, err := findSymbols([]byte(tc.syms), "object.o", regexp.MustCompile(tc.query), 0)
- if err != nil {
- t.Fatalf("%q: findSymbols: %v", tc.query, err)
- }
- if err := checkSymbol(syms, tc.want); err != nil {
- t.Errorf("%q: %v", tc.query, err)
- }
- }
-}
-
-func checkSymbol(got []*plugin.Sym, want []plugin.Sym) error {
- if len(got) != len(want) {
- return fmt.Errorf("unexpected number of symbols %d (want %d)", len(got), len(want))
- }
-
- for i, g := range got {
- w := want[i]
- if len(g.Name) != len(w.Name) {
- return fmt.Errorf("names, got %d, want %d", len(g.Name), len(w.Name))
- }
- for n := range g.Name {
- if g.Name[n] != w.Name[n] {
- return fmt.Errorf("name %d, got %q, want %q", n, g.Name[n], w.Name[n])
- }
- }
- if g.File != w.File {
- return fmt.Errorf("filename, got %q, want %q", g.File, w.File)
- }
- if g.Start != w.Start {
- return fmt.Errorf("start address, got %#x, want %#x", g.Start, w.Start)
- }
- if g.End != w.End {
- return fmt.Errorf("end address, got %#x, want %#x", g.End, w.End)
- }
- }
- return nil
-}
-
-// TestFunctionAssembly tests the FunctionAssembly routine by using a
-// fake objdump script.
-func TestFunctionAssembly(t *testing.T) {
- type testcase struct {
- s plugin.Sym
- asm string
- want []plugin.Inst
- }
- testcases := []testcase{
- {
- plugin.Sym{Name: []string{"symbol1"}, Start: 0x1000, End: 0x1FFF},
- ` 1000: instruction one
- 1001: instruction two
- 1002: instruction three
- 1003: instruction four
-`,
- []plugin.Inst{
- {Addr: 0x1000, Text: "instruction one"},
- {Addr: 0x1001, Text: "instruction two"},
- {Addr: 0x1002, Text: "instruction three"},
- {Addr: 0x1003, Text: "instruction four"},
- },
- },
- {
- plugin.Sym{Name: []string{"symbol2"}, Start: 0x2000, End: 0x2FFF},
- ` 2000: instruction one
- 2001: instruction two
-`,
- []plugin.Inst{
- {Addr: 0x2000, Text: "instruction one"},
- {Addr: 0x2001, Text: "instruction two"},
- },
- },
- }
-
- for _, tc := range testcases {
- insts, err := disassemble([]byte(tc.asm))
- if err != nil {
- t.Fatalf("FunctionAssembly: %v", err)
- }
-
- if len(insts) != len(tc.want) {
- t.Errorf("Unexpected number of assembly instructions %d (want %d)\n", len(insts), len(tc.want))
- }
- for i := range insts {
- if insts[i] != tc.want[i] {
- t.Errorf("Expected symbol %v, got %v\n", tc.want[i], insts[i])
- }
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/build_mac.sh b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/build_mac.sh
deleted file mode 100755
index 5ec98f39b5..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/build_mac.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash -x
-
-# This is a script that generates the test MacOS executables in this directory.
-# It should be needed very rarely to run this script. It is mostly provided
-# as a future reference on how the original binary set was created.
-
-set -o errexit
-
-cat <<EOF >/tmp/hello.cc
-#include <stdio.h>
-
-int main() {
- printf("Hello, world!\n");
- return 0;
-}
-EOF
-
-cat <<EOF >/tmp/lib.c
-int foo() {
- return 1;
-}
-
-int bar() {
- return 2;
-}
-EOF
-
-cd $(dirname $0)
-rm -rf exe_mac_64* lib_mac_64*
-clang -g -o exe_mac_64 /tmp/hello.c
-clang -g -o lib_mac_64 -dynamiclib /tmp/lib.c
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64 b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64
deleted file mode 100755
index d86dc7cdfc..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_linux_64
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64 b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64
deleted file mode 100755
index dba1ae1581..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Info.plist b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Info.plist
deleted file mode 100644
index 41ce537f5d..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
- <dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleIdentifier</key>
- <string>com.apple.xcode.dsym.exe_mac_64</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundlePackageType</key>
- <string>dSYM</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- </dict>
-</plist>
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Resources/DWARF/exe_mac_64 b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Resources/DWARF/exe_mac_64
deleted file mode 100644
index 2cb0e3bf31..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/exe_mac_64.dSYM/Contents/Resources/DWARF/exe_mac_64
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer
deleted file mode 100755
index 596713cb04..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2014 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Fake llvm-symbolizer to use in tests
-
-set -f
-IFS=" "
-
-while read line; do
- # line has form:
- # filename 0xaddr
- # Emit dummy output that matches llvm-symbolizer output format.
- set -- $line
- fname=$1
- addr=$2
- echo "Inlined_$addr"
- echo "$fname.h"
- echo "Func_$addr"
- echo "$fname.c:2"
- echo
-done
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64 b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64
deleted file mode 100755
index 933a3f6931..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Info.plist b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Info.plist
deleted file mode 100644
index 409e4cf0c9..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
- <dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleIdentifier</key>
- <string>com.apple.xcode.dsym.lib_mac_64</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundlePackageType</key>
- <string>dSYM</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- </dict>
-</plist>
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Resources/DWARF/lib_mac_64 b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Resources/DWARF/lib_mac_64
deleted file mode 100644
index e466c1342e..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/lib_mac_64.dSYM/Contents/Resources/DWARF/lib_mac_64
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_elf b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_elf
deleted file mode 100644
index f0b503b0b6..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_elf
+++ /dev/null
@@ -1 +0,0 @@
-ELFÿÿÿÿÿÿÿÿ \ No newline at end of file
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_macho b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_macho
deleted file mode 100644
index b01ddf69a9..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/malformed_macho
+++ /dev/null
@@ -1 +0,0 @@
-Ïúíþÿÿÿÿÿÿÿÿ \ No newline at end of file
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go
deleted file mode 100644
index 90f89dc7bc..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go
+++ /dev/null
@@ -1,1606 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package driver
-
-import (
- "bytes"
- "flag"
- "fmt"
- "io/ioutil"
- "net"
- _ "net/http/pprof"
- "os"
- "reflect"
- "regexp"
- "runtime"
- "strconv"
- "strings"
- "testing"
- "time"
-
- "github.com/google/pprof/internal/plugin"
- "github.com/google/pprof/internal/proftest"
- "github.com/google/pprof/internal/symbolz"
- "github.com/google/pprof/profile"
-)
-
-var updateFlag = flag.Bool("update", false, "Update the golden files")
-
-func TestParse(t *testing.T) {
- // Override weblist command to collect output in buffer
- pprofCommands["weblist"].postProcess = nil
-
- // Our mockObjTool.Open will always return success, causing
- // driver.locateBinaries to "find" the binaries below in a non-existent
- // directory. As a workaround, point the search path to the fake
- // directory containing out fake binaries.
- savePath := os.Getenv("PPROF_BINARY_PATH")
- os.Setenv("PPROF_BINARY_PATH", "/path/to")
- defer os.Setenv("PPROF_BINARY_PATH", savePath)
- testcase := []struct {
- flags, source string
- }{
- {"text,functions,flat", "cpu"},
- {"text,functions,noinlines,flat", "cpu"},
- {"text,filefunctions,noinlines,flat", "cpu"},
- {"text,addresses,noinlines,flat", "cpu"},
- {"tree,addresses,flat,nodecount=4", "cpusmall"},
- {"text,functions,flat,nodecount=5,call_tree", "unknown"},
- {"text,alloc_objects,flat", "heap_alloc"},
- {"text,files,flat", "heap"},
- {"text,files,flat,focus=[12]00,taghide=[X3]00", "heap"},
- {"text,inuse_objects,flat", "heap"},
- {"text,lines,cum,hide=line[X3]0", "cpu"},
- {"text,lines,cum,show=[12]00", "cpu"},
- {"text,lines,cum,hide=line[X3]0,focus=[12]00", "cpu"},
- {"topproto,lines,cum,hide=mangled[X3]0", "cpu"},
- {"topproto,lines", "cpu"},
- {"tree,lines,cum,focus=[24]00", "heap"},
- {"tree,relative_percentages,cum,focus=[24]00", "heap"},
- {"tree,lines,cum,show_from=line2", "cpu"},
- {"callgrind", "cpu"},
- {"callgrind,call_tree", "cpu"},
- {"callgrind", "heap"},
- {"dot,functions,flat", "cpu"},
- {"dot,functions,flat,call_tree", "cpu"},
- {"dot,lines,flat,focus=[12]00", "heap"},
- {"dot,unit=minimum", "heap_sizetags"},
- {"dot,addresses,flat,ignore=[X3]002,focus=[X1]000", "contention"},
- {"dot,files,cum", "contention"},
- {"comments,add_comment=some-comment", "cpu"},
- {"comments", "heap"},
- {"tags", "cpu"},
- {"tags,tagignore=tag[13],tagfocus=key[12]", "cpu"},
- {"tags", "heap"},
- {"tags,unit=bytes", "heap"},
- {"traces", "cpu"},
- {"traces", "heap_tags"},
- {"dot,alloc_space,flat,focus=[234]00", "heap_alloc"},
- {"dot,alloc_space,flat,tagshow=[2]00", "heap_alloc"},
- {"dot,alloc_space,flat,hide=line.*1?23?", "heap_alloc"},
- {"dot,inuse_space,flat,tagfocus=1mb:2gb", "heap"},
- {"dot,inuse_space,flat,tagfocus=30kb:,tagignore=1mb:2mb", "heap"},
- {"disasm=line[13],addresses,flat", "cpu"},
- {"peek=line.*01", "cpu"},
- {"weblist=line[13],addresses,flat", "cpu"},
- {"tags,tagfocus=400kb:", "heap_request"},
- {"dot", "longNameFuncs"},
- {"text", "longNameFuncs"},
- }
-
- baseVars := pprofVariables
- defer func() { pprofVariables = baseVars }()
- for _, tc := range testcase {
- t.Run(tc.flags+":"+tc.source, func(t *testing.T) {
- // Reset the pprof variables before processing
- pprofVariables = baseVars.makeCopy()
-
- testUI := &proftest.TestUI{T: t, AllowRx: "Generating report in|Ignoring local file|expression matched no samples|Interpreted .* as range, not regexp"}
-
- f := baseFlags()
- f.args = []string{tc.source}
-
- flags := strings.Split(tc.flags, ",")
-
- // Encode profile into a protobuf and decode it again.
- protoTempFile, err := ioutil.TempFile("", "profile_proto")
- if err != nil {
- t.Errorf("cannot create tempfile: %v", err)
- }
- defer os.Remove(protoTempFile.Name())
- defer protoTempFile.Close()
- f.strings["output"] = protoTempFile.Name()
-
- if flags[0] == "topproto" {
- f.bools["proto"] = false
- f.bools["topproto"] = true
- f.bools["addresses"] = true
- }
-
- // First pprof invocation to save the profile into a profile.proto.
- // Pass in flag set hen setting defaults, because otherwise default
- // transport will try to add flags to the default flag set.
- o1 := setDefaults(&plugin.Options{Flagset: f})
- o1.Fetch = testFetcher{}
- o1.Sym = testSymbolizer{}
- o1.UI = testUI
- if err := PProf(o1); err != nil {
- t.Fatalf("%s %q: %v", tc.source, tc.flags, err)
- }
- // Reset the pprof variables after the proto invocation
- pprofVariables = baseVars.makeCopy()
-
- // Read the profile from the encoded protobuf
- outputTempFile, err := ioutil.TempFile("", "profile_output")
- if err != nil {
- t.Errorf("cannot create tempfile: %v", err)
- }
- defer os.Remove(outputTempFile.Name())
- defer outputTempFile.Close()
-
- f = baseFlags()
- f.strings["output"] = outputTempFile.Name()
- f.args = []string{protoTempFile.Name()}
-
- delete(f.bools, "proto")
- addFlags(&f, flags)
- solution := solutionFilename(tc.source, &f)
- // Apply the flags for the second pprof run, and identify name of
- // the file containing expected results
- if flags[0] == "topproto" {
- addFlags(&f, flags)
- solution = solutionFilename(tc.source, &f)
- delete(f.bools, "topproto")
- f.bools["text"] = true
- }
-
- // Second pprof invocation to read the profile from profile.proto
- // and generate a report.
- // Pass in flag set hen setting defaults, because otherwise default
- // transport will try to add flags to the default flag set.
- o2 := setDefaults(&plugin.Options{Flagset: f})
- o2.Sym = testSymbolizeDemangler{}
- o2.Obj = new(mockObjTool)
- o2.UI = testUI
-
- if err := PProf(o2); err != nil {
- t.Errorf("%s: %v", tc.source, err)
- }
- b, err := ioutil.ReadFile(outputTempFile.Name())
- if err != nil {
- t.Errorf("Failed to read profile %s: %v", outputTempFile.Name(), err)
- }
-
- // Read data file with expected solution
- solution = "testdata/" + solution
- sbuf, err := ioutil.ReadFile(solution)
- if err != nil {
- t.Fatalf("reading solution file %s: %v", solution, err)
- }
- if runtime.GOOS == "windows" {
- sbuf = bytes.Replace(sbuf, []byte("testdata/"), []byte("testdata\\"), -1)
- sbuf = bytes.Replace(sbuf, []byte("/path/to/"), []byte("\\path\\to\\"), -1)
- }
-
- if flags[0] == "svg" {
- b = removeScripts(b)
- sbuf = removeScripts(sbuf)
- }
-
- if string(b) != string(sbuf) {
- t.Errorf("diff %s %s", solution, tc.source)
- d, err := proftest.Diff(sbuf, b)
- if err != nil {
- t.Fatalf("diff %s %v", solution, err)
- }
- t.Errorf("%s\n%s\n", solution, d)
- if *updateFlag {
- err := ioutil.WriteFile(solution, b, 0644)
- if err != nil {
- t.Errorf("failed to update the solution file %q: %v", solution, err)
- }
- }
- }
- })
- }
-}
-
-// removeScripts removes <script > .. </script> pairs from its input
-func removeScripts(in []byte) []byte {
- beginMarker := []byte("<script")
- endMarker := []byte("</script>")
-
- if begin := bytes.Index(in, beginMarker); begin > 0 {
- if end := bytes.Index(in[begin:], endMarker); end > 0 {
- in = append(in[:begin], removeScripts(in[begin+end+len(endMarker):])...)
- }
- }
- return in
-}
-
-// addFlags parses flag descriptions and adds them to the testFlags
-func addFlags(f *testFlags, flags []string) {
- for _, flag := range flags {
- fields := strings.SplitN(flag, "=", 2)
- switch len(fields) {
- case 1:
- f.bools[fields[0]] = true
- case 2:
- if i, err := strconv.Atoi(fields[1]); err == nil {
- f.ints[fields[0]] = i
- } else {
- f.strings[fields[0]] = fields[1]
- }
- }
- }
-}
-
-func testSourceURL(port int) string {
- return fmt.Sprintf("http://%s/", net.JoinHostPort(testSourceAddress, strconv.Itoa(port)))
-}
-
-// solutionFilename returns the name of the solution file for the test
-func solutionFilename(source string, f *testFlags) string {
- name := []string{"pprof", strings.TrimPrefix(source, testSourceURL(8000))}
- name = addString(name, f, []string{"flat", "cum"})
- name = addString(name, f, []string{"functions", "filefunctions", "files", "lines", "addresses"})
- name = addString(name, f, []string{"noinlines"})
- name = addString(name, f, []string{"inuse_space", "inuse_objects", "alloc_space", "alloc_objects"})
- name = addString(name, f, []string{"relative_percentages"})
- name = addString(name, f, []string{"seconds"})
- name = addString(name, f, []string{"call_tree"})
- name = addString(name, f, []string{"text", "tree", "callgrind", "dot", "svg", "tags", "dot", "traces", "disasm", "peek", "weblist", "topproto", "comments"})
- if f.strings["focus"] != "" || f.strings["tagfocus"] != "" {
- name = append(name, "focus")
- }
- if f.strings["ignore"] != "" || f.strings["tagignore"] != "" {
- name = append(name, "ignore")
- }
- if f.strings["show_from"] != "" {
- name = append(name, "show_from")
- }
- name = addString(name, f, []string{"hide", "show"})
- if f.strings["unit"] != "minimum" {
- name = addString(name, f, []string{"unit"})
- }
- return strings.Join(name, ".")
-}
-
-func addString(name []string, f *testFlags, components []string) []string {
- for _, c := range components {
- if f.bools[c] || f.strings[c] != "" || f.ints[c] != 0 {
- return append(name, c)
- }
- }
- return name
-}
-
-// testFlags implements the plugin.FlagSet interface.
-type testFlags struct {
- bools map[string]bool
- ints map[string]int
- floats map[string]float64
- strings map[string]string
- args []string
- stringLists map[string][]string
-}
-
-func (testFlags) ExtraUsage() string { return "" }
-
-func (testFlags) AddExtraUsage(eu string) {}
-
-func (f testFlags) Bool(s string, d bool, c string) *bool {
- if b, ok := f.bools[s]; ok {
- return &b
- }
- return &d
-}
-
-func (f testFlags) Int(s string, d int, c string) *int {
- if i, ok := f.ints[s]; ok {
- return &i
- }
- return &d
-}
-
-func (f testFlags) Float64(s string, d float64, c string) *float64 {
- if g, ok := f.floats[s]; ok {
- return &g
- }
- return &d
-}
-
-func (f testFlags) String(s, d, c string) *string {
- if t, ok := f.strings[s]; ok {
- return &t
- }
- return &d
-}
-
-func (f testFlags) BoolVar(p *bool, s string, d bool, c string) {
- if b, ok := f.bools[s]; ok {
- *p = b
- } else {
- *p = d
- }
-}
-
-func (f testFlags) IntVar(p *int, s string, d int, c string) {
- if i, ok := f.ints[s]; ok {
- *p = i
- } else {
- *p = d
- }
-}
-
-func (f testFlags) Float64Var(p *float64, s string, d float64, c string) {
- if g, ok := f.floats[s]; ok {
- *p = g
- } else {
- *p = d
- }
-}
-
-func (f testFlags) StringVar(p *string, s, d, c string) {
- if t, ok := f.strings[s]; ok {
- *p = t
- } else {
- *p = d
- }
-}
-
-func (f testFlags) StringList(s, d, c string) *[]*string {
- if t, ok := f.stringLists[s]; ok {
- // convert slice of strings to slice of string pointers before returning.
- tp := make([]*string, len(t))
- for i, v := range t {
- tp[i] = &v
- }
- return &tp
- }
- return &[]*string{}
-}
-
-func (f testFlags) Parse(func()) []string {
- return f.args
-}
-
-func baseFlags() testFlags {
- return testFlags{
- bools: map[string]bool{
- "proto": true,
- "trim": true,
- "compact_labels": true,
- },
- ints: map[string]int{
- "nodecount": 20,
- },
- floats: map[string]float64{
- "nodefraction": 0.05,
- "edgefraction": 0.01,
- "divide_by": 1.0,
- },
- strings: map[string]string{
- "unit": "minimum",
- },
- }
-}
-
-const testStart = 0x1000
-const testOffset = 0x5000
-
-type testFetcher struct{}
-
-func (testFetcher) Fetch(s string, d, t time.Duration) (*profile.Profile, string, error) {
- var p *profile.Profile
- switch s {
- case "cpu", "unknown":
- p = cpuProfile()
- case "cpusmall":
- p = cpuProfileSmall()
- case "heap":
- p = heapProfile()
- case "heap_alloc":
- p = heapProfile()
- p.SampleType = []*profile.ValueType{
- {Type: "alloc_objects", Unit: "count"},
- {Type: "alloc_space", Unit: "bytes"},
- }
- case "heap_request":
- p = heapProfile()
- for _, s := range p.Sample {
- s.NumLabel["request"] = s.NumLabel["bytes"]
- }
- case "heap_sizetags":
- p = heapProfile()
- tags := []int64{2, 4, 8, 16, 32, 64, 128, 256}
- for _, s := range p.Sample {
- numValues := append(s.NumLabel["bytes"], tags...)
- s.NumLabel["bytes"] = numValues
- }
- case "heap_tags":
- p = heapProfile()
- for i := 0; i < len(p.Sample); i += 2 {
- s := p.Sample[i]
- if s.Label == nil {
- s.Label = make(map[string][]string)
- }
- s.NumLabel["request"] = s.NumLabel["bytes"]
- s.Label["key1"] = []string{"tag"}
- }
- case "contention":
- p = contentionProfile()
- case "symbolz":
- p = symzProfile()
- case "longNameFuncs":
- p = longNameFuncsProfile()
- default:
- return nil, "", fmt.Errorf("unexpected source: %s", s)
- }
- return p, testSourceURL(8000) + s, nil
-}
-
-type testSymbolizer struct{}
-
-func (testSymbolizer) Symbolize(_ string, _ plugin.MappingSources, _ *profile.Profile) error {
- return nil
-}
-
-type testSymbolizeDemangler struct{}
-
-func (testSymbolizeDemangler) Symbolize(_ string, _ plugin.MappingSources, p *profile.Profile) error {
- for _, fn := range p.Function {
- if fn.Name == "" || fn.SystemName == fn.Name {
- fn.Name = fakeDemangler(fn.SystemName)
- }
- }
- return nil
-}
-
-func testFetchSymbols(source, post string) ([]byte, error) {
- var buf bytes.Buffer
-
- switch source {
- case testSourceURL(8000) + "symbolz":
- for _, address := range strings.Split(post, "+") {
- a, _ := strconv.ParseInt(address, 0, 64)
- fmt.Fprintf(&buf, "%v\t", address)
- if a-testStart > testOffset {
- fmt.Fprintf(&buf, "wrong_source_%v_", address)
- continue
- }
- fmt.Fprintf(&buf, "%#x\n", a-testStart)
- }
- return buf.Bytes(), nil
- case testSourceURL(8001) + "symbolz":
- for _, address := range strings.Split(post, "+") {
- a, _ := strconv.ParseInt(address, 0, 64)
- fmt.Fprintf(&buf, "%v\t", address)
- if a-testStart < testOffset {
- fmt.Fprintf(&buf, "wrong_source_%v_", address)
- continue
- }
- fmt.Fprintf(&buf, "%#x\n", a-testStart-testOffset)
- }
- return buf.Bytes(), nil
- default:
- return nil, fmt.Errorf("unexpected source: %s", source)
- }
-}
-
-type testSymbolzSymbolizer struct{}
-
-func (testSymbolzSymbolizer) Symbolize(variables string, sources plugin.MappingSources, p *profile.Profile) error {
- return symbolz.Symbolize(p, false, sources, testFetchSymbols, nil)
-}
-
-func fakeDemangler(name string) string {
- switch name {
- case "mangled1000":
- return "line1000"
- case "mangled2000":
- return "line2000"
- case "mangled2001":
- return "line2001"
- case "mangled3000":
- return "line3000"
- case "mangled3001":
- return "line3001"
- case "mangled3002":
- return "line3002"
- case "mangledNEW":
- return "operator new"
- case "mangledMALLOC":
- return "malloc"
- default:
- return name
- }
-}
-
-// Returns a profile with function names which should be shortened in
-// graph and flame views.
-func longNameFuncsProfile() *profile.Profile {
- var longNameFuncsM = []*profile.Mapping{
- {
- ID: 1,
- Start: 0x1000,
- Limit: 0x4000,
- File: "/path/to/testbinary",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- }
-
- var longNameFuncsF = []*profile.Function{
- {ID: 1, Name: "path/to/package1.object.function1", SystemName: "path/to/package1.object.function1", Filename: "path/to/package1.go"},
- {ID: 2, Name: "(anonymous namespace)::Bar::Foo", SystemName: "(anonymous namespace)::Bar::Foo", Filename: "a/long/path/to/package2.cc"},
- {ID: 3, Name: "java.bar.foo.FooBar.run(java.lang.Runnable)", SystemName: "java.bar.foo.FooBar.run(java.lang.Runnable)", Filename: "FooBar.java"},
- }
-
- var longNameFuncsL = []*profile.Location{
- {
- ID: 1000,
- Mapping: longNameFuncsM[0],
- Address: 0x1000,
- Line: []profile.Line{
- {Function: longNameFuncsF[0], Line: 1},
- },
- },
- {
- ID: 2000,
- Mapping: longNameFuncsM[0],
- Address: 0x2000,
- Line: []profile.Line{
- {Function: longNameFuncsF[1], Line: 4},
- },
- },
- {
- ID: 3000,
- Mapping: longNameFuncsM[0],
- Address: 0x3000,
- Line: []profile.Line{
- {Function: longNameFuncsF[2], Line: 9},
- },
- },
- }
-
- return &profile.Profile{
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*profile.ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{longNameFuncsL[0], longNameFuncsL[1], longNameFuncsL[2]},
- Value: []int64{1000, 1000},
- },
- {
- Location: []*profile.Location{longNameFuncsL[0], longNameFuncsL[1]},
- Value: []int64{100, 100},
- },
- {
- Location: []*profile.Location{longNameFuncsL[2]},
- Value: []int64{10, 10},
- },
- },
- Location: longNameFuncsL,
- Function: longNameFuncsF,
- Mapping: longNameFuncsM,
- }
-}
-
-func cpuProfile() *profile.Profile {
- var cpuM = []*profile.Mapping{
- {
- ID: 1,
- Start: 0x1000,
- Limit: 0x4000,
- File: "/path/to/testbinary",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- }
-
- var cpuF = []*profile.Function{
- {ID: 1, Name: "mangled1000", SystemName: "mangled1000", Filename: "testdata/file1000.src"},
- {ID: 2, Name: "mangled2000", SystemName: "mangled2000", Filename: "testdata/file2000.src"},
- {ID: 3, Name: "mangled2001", SystemName: "mangled2001", Filename: "testdata/file2000.src"},
- {ID: 4, Name: "mangled3000", SystemName: "mangled3000", Filename: "testdata/file3000.src"},
- {ID: 5, Name: "mangled3001", SystemName: "mangled3001", Filename: "testdata/file3000.src"},
- {ID: 6, Name: "mangled3002", SystemName: "mangled3002", Filename: "testdata/file3000.src"},
- }
-
- var cpuL = []*profile.Location{
- {
- ID: 1000,
- Mapping: cpuM[0],
- Address: 0x1000,
- Line: []profile.Line{
- {Function: cpuF[0], Line: 1},
- },
- },
- {
- ID: 2000,
- Mapping: cpuM[0],
- Address: 0x2000,
- Line: []profile.Line{
- {Function: cpuF[2], Line: 9},
- {Function: cpuF[1], Line: 4},
- },
- },
- {
- ID: 3000,
- Mapping: cpuM[0],
- Address: 0x3000,
- Line: []profile.Line{
- {Function: cpuF[5], Line: 2},
- {Function: cpuF[4], Line: 5},
- {Function: cpuF[3], Line: 6},
- },
- },
- {
- ID: 3001,
- Mapping: cpuM[0],
- Address: 0x3001,
- Line: []profile.Line{
- {Function: cpuF[4], Line: 8},
- {Function: cpuF[3], Line: 9},
- },
- },
- {
- ID: 3002,
- Mapping: cpuM[0],
- Address: 0x3002,
- Line: []profile.Line{
- {Function: cpuF[5], Line: 5},
- {Function: cpuF[3], Line: 9},
- },
- },
- }
-
- return &profile.Profile{
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*profile.ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{cpuL[0], cpuL[1], cpuL[2]},
- Value: []int64{1000, 1000},
- Label: map[string][]string{
- "key1": {"tag1"},
- "key2": {"tag1"},
- },
- },
- {
- Location: []*profile.Location{cpuL[0], cpuL[3]},
- Value: []int64{100, 100},
- Label: map[string][]string{
- "key1": {"tag2"},
- "key3": {"tag2"},
- },
- },
- {
- Location: []*profile.Location{cpuL[1], cpuL[4]},
- Value: []int64{10, 10},
- Label: map[string][]string{
- "key1": {"tag3"},
- "key2": {"tag2"},
- },
- },
- {
- Location: []*profile.Location{cpuL[2]},
- Value: []int64{10, 10},
- Label: map[string][]string{
- "key1": {"tag4"},
- "key2": {"tag1"},
- },
- },
- },
- Location: cpuL,
- Function: cpuF,
- Mapping: cpuM,
- }
-}
-
-func cpuProfileSmall() *profile.Profile {
- var cpuM = []*profile.Mapping{
- {
- ID: 1,
- Start: 0x1000,
- Limit: 0x4000,
- File: "/path/to/testbinary",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- }
-
- var cpuL = []*profile.Location{
- {
- ID: 1000,
- Mapping: cpuM[0],
- Address: 0x1000,
- },
- {
- ID: 2000,
- Mapping: cpuM[0],
- Address: 0x2000,
- },
- {
- ID: 3000,
- Mapping: cpuM[0],
- Address: 0x3000,
- },
- {
- ID: 4000,
- Mapping: cpuM[0],
- Address: 0x4000,
- },
- {
- ID: 5000,
- Mapping: cpuM[0],
- Address: 0x5000,
- },
- }
-
- return &profile.Profile{
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*profile.ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{cpuL[0], cpuL[1], cpuL[2]},
- Value: []int64{1000, 1000},
- },
- {
- Location: []*profile.Location{cpuL[3], cpuL[1], cpuL[4]},
- Value: []int64{1000, 1000},
- },
- {
- Location: []*profile.Location{cpuL[2]},
- Value: []int64{1000, 1000},
- },
- {
- Location: []*profile.Location{cpuL[4]},
- Value: []int64{1000, 1000},
- },
- },
- Location: cpuL,
- Function: nil,
- Mapping: cpuM,
- }
-}
-
-func heapProfile() *profile.Profile {
- var heapM = []*profile.Mapping{
- {
- ID: 1,
- BuildID: "buildid",
- Start: 0x1000,
- Limit: 0x4000,
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- }
-
- var heapF = []*profile.Function{
- {ID: 1, Name: "pruneme", SystemName: "pruneme", Filename: "prune.h"},
- {ID: 2, Name: "mangled1000", SystemName: "mangled1000", Filename: "testdata/file1000.src"},
- {ID: 3, Name: "mangled2000", SystemName: "mangled2000", Filename: "testdata/file2000.src"},
- {ID: 4, Name: "mangled2001", SystemName: "mangled2001", Filename: "testdata/file2000.src"},
- {ID: 5, Name: "mangled3000", SystemName: "mangled3000", Filename: "testdata/file3000.src"},
- {ID: 6, Name: "mangled3001", SystemName: "mangled3001", Filename: "testdata/file3000.src"},
- {ID: 7, Name: "mangled3002", SystemName: "mangled3002", Filename: "testdata/file3000.src"},
- {ID: 8, Name: "mangledMALLOC", SystemName: "mangledMALLOC", Filename: "malloc.h"},
- {ID: 9, Name: "mangledNEW", SystemName: "mangledNEW", Filename: "new.h"},
- }
-
- var heapL = []*profile.Location{
- {
- ID: 1000,
- Mapping: heapM[0],
- Address: 0x1000,
- Line: []profile.Line{
- {Function: heapF[0], Line: 100},
- {Function: heapF[7], Line: 100},
- {Function: heapF[1], Line: 1},
- },
- },
- {
- ID: 2000,
- Mapping: heapM[0],
- Address: 0x2000,
- Line: []profile.Line{
- {Function: heapF[8], Line: 100},
- {Function: heapF[3], Line: 2},
- {Function: heapF[2], Line: 3},
- },
- },
- {
- ID: 3000,
- Mapping: heapM[0],
- Address: 0x3000,
- Line: []profile.Line{
- {Function: heapF[8], Line: 100},
- {Function: heapF[6], Line: 3},
- {Function: heapF[5], Line: 2},
- {Function: heapF[4], Line: 4},
- },
- },
- {
- ID: 3001,
- Mapping: heapM[0],
- Address: 0x3001,
- Line: []profile.Line{
- {Function: heapF[0], Line: 100},
- {Function: heapF[8], Line: 100},
- {Function: heapF[5], Line: 2},
- {Function: heapF[4], Line: 4},
- },
- },
- {
- ID: 3002,
- Mapping: heapM[0],
- Address: 0x3002,
- Line: []profile.Line{
- {Function: heapF[6], Line: 3},
- {Function: heapF[4], Line: 4},
- },
- },
- }
-
- return &profile.Profile{
- Comments: []string{"comment", "#hidden comment"},
- PeriodType: &profile.ValueType{Type: "allocations", Unit: "bytes"},
- Period: 524288,
- SampleType: []*profile.ValueType{
- {Type: "inuse_objects", Unit: "count"},
- {Type: "inuse_space", Unit: "bytes"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{heapL[0], heapL[1], heapL[2]},
- Value: []int64{10, 1024000},
- NumLabel: map[string][]int64{"bytes": {102400}},
- },
- {
- Location: []*profile.Location{heapL[0], heapL[3]},
- Value: []int64{20, 4096000},
- NumLabel: map[string][]int64{"bytes": {204800}},
- },
- {
- Location: []*profile.Location{heapL[1], heapL[4]},
- Value: []int64{40, 65536000},
- NumLabel: map[string][]int64{"bytes": {1638400}},
- },
- {
- Location: []*profile.Location{heapL[2]},
- Value: []int64{80, 32768000},
- NumLabel: map[string][]int64{"bytes": {409600}},
- },
- },
- DropFrames: ".*operator new.*|malloc",
- Location: heapL,
- Function: heapF,
- Mapping: heapM,
- }
-}
-
-func contentionProfile() *profile.Profile {
- var contentionM = []*profile.Mapping{
- {
- ID: 1,
- BuildID: "buildid-contention",
- Start: 0x1000,
- Limit: 0x4000,
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- }
-
- var contentionF = []*profile.Function{
- {ID: 1, Name: "mangled1000", SystemName: "mangled1000", Filename: "testdata/file1000.src"},
- {ID: 2, Name: "mangled2000", SystemName: "mangled2000", Filename: "testdata/file2000.src"},
- {ID: 3, Name: "mangled2001", SystemName: "mangled2001", Filename: "testdata/file2000.src"},
- {ID: 4, Name: "mangled3000", SystemName: "mangled3000", Filename: "testdata/file3000.src"},
- {ID: 5, Name: "mangled3001", SystemName: "mangled3001", Filename: "testdata/file3000.src"},
- {ID: 6, Name: "mangled3002", SystemName: "mangled3002", Filename: "testdata/file3000.src"},
- }
-
- var contentionL = []*profile.Location{
- {
- ID: 1000,
- Mapping: contentionM[0],
- Address: 0x1000,
- Line: []profile.Line{
- {Function: contentionF[0], Line: 1},
- },
- },
- {
- ID: 2000,
- Mapping: contentionM[0],
- Address: 0x2000,
- Line: []profile.Line{
- {Function: contentionF[2], Line: 2},
- {Function: contentionF[1], Line: 3},
- },
- },
- {
- ID: 3000,
- Mapping: contentionM[0],
- Address: 0x3000,
- Line: []profile.Line{
- {Function: contentionF[5], Line: 2},
- {Function: contentionF[4], Line: 3},
- {Function: contentionF[3], Line: 5},
- },
- },
- {
- ID: 3001,
- Mapping: contentionM[0],
- Address: 0x3001,
- Line: []profile.Line{
- {Function: contentionF[4], Line: 3},
- {Function: contentionF[3], Line: 5},
- },
- },
- {
- ID: 3002,
- Mapping: contentionM[0],
- Address: 0x3002,
- Line: []profile.Line{
- {Function: contentionF[5], Line: 4},
- {Function: contentionF[3], Line: 3},
- },
- },
- }
-
- return &profile.Profile{
- PeriodType: &profile.ValueType{Type: "contentions", Unit: "count"},
- Period: 524288,
- SampleType: []*profile.ValueType{
- {Type: "contentions", Unit: "count"},
- {Type: "delay", Unit: "nanoseconds"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{contentionL[0], contentionL[1], contentionL[2]},
- Value: []int64{10, 10240000},
- },
- {
- Location: []*profile.Location{contentionL[0], contentionL[3]},
- Value: []int64{20, 40960000},
- },
- {
- Location: []*profile.Location{contentionL[1], contentionL[4]},
- Value: []int64{40, 65536000},
- },
- {
- Location: []*profile.Location{contentionL[2]},
- Value: []int64{80, 32768000},
- },
- },
- Location: contentionL,
- Function: contentionF,
- Mapping: contentionM,
- Comments: []string{"Comment #1", "Comment #2"},
- }
-}
-
-func symzProfile() *profile.Profile {
- var symzM = []*profile.Mapping{
- {
- ID: 1,
- Start: testStart,
- Limit: 0x4000,
- File: "/path/to/testbinary",
- },
- }
-
- var symzL = []*profile.Location{
- {ID: 1, Mapping: symzM[0], Address: testStart},
- {ID: 2, Mapping: symzM[0], Address: testStart + 0x1000},
- {ID: 3, Mapping: symzM[0], Address: testStart + 0x2000},
- }
-
- return &profile.Profile{
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*profile.ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{symzL[0], symzL[1], symzL[2]},
- Value: []int64{1, 1},
- },
- },
- Location: symzL,
- Mapping: symzM,
- }
-}
-
-var autoCompleteTests = []struct {
- in string
- out string
-}{
- {"", ""},
- {"xyz", "xyz"}, // no match
- {"dis", "disasm"}, // single match
- {"t", "t"}, // many matches
- {"top abc", "top abc"}, // no function name match
- {"top mangledM", "top mangledMALLOC"}, // single function name match
- {"top cmd cmd mangledM", "top cmd cmd mangledMALLOC"},
- {"top mangled", "top mangled"}, // many function name matches
- {"cmd mangledM", "cmd mangledM"}, // invalid command
- {"top mangledM cmd", "top mangledM cmd"}, // cursor misplaced
- {"top edMA", "top mangledMALLOC"}, // single infix function name match
- {"top -mangledM", "top -mangledMALLOC"}, // ignore sign handled
- {"lin", "lines"}, // single variable match
- {"EdGeF", "edgefraction"}, // single capitalized match
- {"help dis", "help disasm"}, // help command match
- {"help relative_perc", "help relative_percentages"}, // help variable match
- {"help coMpa", "help compact_labels"}, // help variable capitalized match
-}
-
-func TestAutoComplete(t *testing.T) {
- complete := newCompleter(functionNames(heapProfile()))
-
- for _, test := range autoCompleteTests {
- if out := complete(test.in); out != test.out {
- t.Errorf("autoComplete(%s) = %s; want %s", test.in, out, test.out)
- }
- }
-}
-
-func TestTagFilter(t *testing.T) {
- var tagFilterTests = []struct {
- desc, value string
- tags map[string][]string
- want bool
- }{
- {
- "1 key with 1 matching value",
- "tag2",
- map[string][]string{"value1": {"tag1", "tag2"}},
- true,
- },
- {
- "1 key with no matching values",
- "tag3",
- map[string][]string{"value1": {"tag1", "tag2"}},
- false,
- },
- {
- "two keys, each with value matching different one value in list",
- "tag1,tag3",
- map[string][]string{"value1": {"tag1", "tag2"}, "value2": {"tag3"}},
- true,
- },
- {"two keys, all value matching different regex value in list",
- "t..[12],t..3",
- map[string][]string{"value1": {"tag1", "tag2"}, "value2": {"tag3"}},
- true,
- },
- {
- "one key, not all values in list matched",
- "tag2,tag3",
- map[string][]string{"value1": {"tag1", "tag2"}},
- false,
- },
- {
- "key specified, list of tags where all tags in list matched",
- "key1=tag1,tag2",
- map[string][]string{"key1": {"tag1", "tag2"}},
- true,
- },
- {"key specified, list of tag values where not all are matched",
- "key1=tag1,tag2",
- map[string][]string{"key1": {"tag1"}},
- true,
- },
- {
- "key included for regex matching, list of values where all values in list matched",
- "key1:tag1,tag2",
- map[string][]string{"key1": {"tag1", "tag2"}},
- true,
- },
- {
- "key included for regex matching, list of values where not only second value matched",
- "key1:tag1,tag2",
- map[string][]string{"key1": {"tag2"}},
- false,
- },
- {
- "key included for regex matching, list of values where not only first value matched",
- "key1:tag1,tag2",
- map[string][]string{"key1": {"tag1"}},
- false,
- },
- }
- for _, test := range tagFilterTests {
- t.Run(test.desc, func(*testing.T) {
- filter, err := compileTagFilter(test.desc, test.value, nil, &proftest.TestUI{T: t}, nil)
- if err != nil {
- t.Fatalf("tagFilter %s:%v", test.desc, err)
- }
- s := profile.Sample{
- Label: test.tags,
- }
- if got := filter(&s); got != test.want {
- t.Errorf("tagFilter %s: got %v, want %v", test.desc, got, test.want)
- }
- })
- }
-}
-
-func TestIdentifyNumLabelUnits(t *testing.T) {
- var tagFilterTests = []struct {
- desc string
- tagVals []map[string][]int64
- tagUnits []map[string][]string
- wantUnits map[string]string
- allowedRx string
- wantIgnoreErrCount int
- }{
- {
- "Multiple keys, no units for all keys",
- []map[string][]int64{{"keyA": {131072}, "keyB": {128}}},
- []map[string][]string{{"keyA": {}, "keyB": {""}}},
- map[string]string{"keyA": "keyA", "keyB": "keyB"},
- "",
- 0,
- },
- {
- "Multiple keys, different units for each key",
- []map[string][]int64{{"keyA": {131072}, "keyB": {128}}},
- []map[string][]string{{"keyA": {"bytes"}, "keyB": {"kilobytes"}}},
- map[string]string{"keyA": "bytes", "keyB": "kilobytes"},
- "",
- 0,
- },
- {
- "Multiple keys with multiple values, different units for each key",
- []map[string][]int64{{"keyC": {131072, 1}, "keyD": {128, 252}}},
- []map[string][]string{{"keyC": {"bytes", "bytes"}, "keyD": {"kilobytes", "kilobytes"}}},
- map[string]string{"keyC": "bytes", "keyD": "kilobytes"},
- "",
- 0,
- },
- {
- "Multiple keys with multiple values, some units missing",
- []map[string][]int64{{"key1": {131072, 1}, "A": {128, 252}, "key3": {128}, "key4": {1}}, {"key3": {128}, "key4": {1}}},
- []map[string][]string{{"key1": {"", "bytes"}, "A": {"kilobytes", ""}, "key3": {""}, "key4": {"hour"}}, {"key3": {"seconds"}, "key4": {""}}},
- map[string]string{"key1": "bytes", "A": "kilobytes", "key3": "seconds", "key4": "hour"},
- "",
- 0,
- },
- {
- "One key with three units in same sample",
- []map[string][]int64{{"key": {8, 8, 16}}},
- []map[string][]string{{"key": {"bytes", "megabytes", "kilobytes"}}},
- map[string]string{"key": "bytes"},
- `(For tag key used unit bytes, also encountered unit\(s\) kilobytes, megabytes)`,
- 1,
- },
- {
- "One key with four units in same sample",
- []map[string][]int64{{"key": {8, 8, 16, 32}}},
- []map[string][]string{{"key": {"bytes", "kilobytes", "a", "megabytes"}}},
- map[string]string{"key": "bytes"},
- `(For tag key used unit bytes, also encountered unit\(s\) a, kilobytes, megabytes)`,
- 1,
- },
- {
- "One key with two units in same sample",
- []map[string][]int64{{"key": {8, 8}}},
- []map[string][]string{{"key": {"bytes", "seconds"}}},
- map[string]string{"key": "bytes"},
- `(For tag key used unit bytes, also encountered unit\(s\) seconds)`,
- 1,
- },
- {
- "One key with different units in different samples",
- []map[string][]int64{{"key1": {8}}, {"key1": {8}}, {"key1": {8}}},
- []map[string][]string{{"key1": {"bytes"}}, {"key1": {"kilobytes"}}, {"key1": {"megabytes"}}},
- map[string]string{"key1": "bytes"},
- `(For tag key1 used unit bytes, also encountered unit\(s\) kilobytes, megabytes)`,
- 1,
- },
- {
- "Key alignment, unit not specified",
- []map[string][]int64{{"alignment": {8}}},
- []map[string][]string{nil},
- map[string]string{"alignment": "bytes"},
- "",
- 0,
- },
- {
- "Key request, unit not specified",
- []map[string][]int64{{"request": {8}}, {"request": {8, 8}}},
- []map[string][]string{nil, nil},
- map[string]string{"request": "bytes"},
- "",
- 0,
- },
- {
- "Check units not over-written for keys with default units",
- []map[string][]int64{{
- "alignment": {8},
- "request": {8},
- "bytes": {8},
- }},
- []map[string][]string{{
- "alignment": {"seconds"},
- "request": {"minutes"},
- "bytes": {"hours"},
- }},
- map[string]string{
- "alignment": "seconds",
- "request": "minutes",
- "bytes": "hours",
- },
- "",
- 0,
- },
- }
- for _, test := range tagFilterTests {
- t.Run(test.desc, func(*testing.T) {
- p := profile.Profile{Sample: make([]*profile.Sample, len(test.tagVals))}
- for i, numLabel := range test.tagVals {
- s := profile.Sample{
- NumLabel: numLabel,
- NumUnit: test.tagUnits[i],
- }
- p.Sample[i] = &s
- }
- testUI := &proftest.TestUI{T: t, AllowRx: test.allowedRx}
- units := identifyNumLabelUnits(&p, testUI)
- if !reflect.DeepEqual(test.wantUnits, units) {
- t.Errorf("got %v units, want %v", units, test.wantUnits)
- }
- if got, want := testUI.NumAllowRxMatches, test.wantIgnoreErrCount; want != got {
- t.Errorf("got %d errors logged, want %d errors logged", got, want)
- }
- })
- }
-}
-
-func TestNumericTagFilter(t *testing.T) {
- var tagFilterTests = []struct {
- desc, value string
- tags map[string][]int64
- identifiedUnits map[string]string
- want bool
- }{
- {
- "Match when unit conversion required",
- "128kb",
- map[string][]int64{"key1": {131072}, "key2": {128}},
- map[string]string{"key1": "bytes", "key2": "kilobytes"},
- true,
- },
- {
- "Match only when values equal after unit conversion",
- "512kb",
- map[string][]int64{"key1": {512}, "key2": {128}},
- map[string]string{"key1": "bytes", "key2": "kilobytes"},
- false,
- },
- {
- "Match when values and units initially equal",
- "10bytes",
- map[string][]int64{"key1": {10}, "key2": {128}},
- map[string]string{"key1": "bytes", "key2": "kilobytes"},
- true,
- },
- {
- "Match range without lower bound, no unit conversion required",
- ":10bytes",
- map[string][]int64{"key1": {8}},
- map[string]string{"key1": "bytes"},
- true,
- },
- {
- "Match range without lower bound, unit conversion required",
- ":10kb",
- map[string][]int64{"key1": {8}},
- map[string]string{"key1": "bytes"},
- true,
- },
- {
- "Match range without upper bound, unit conversion required",
- "10b:",
- map[string][]int64{"key1": {8}},
- map[string]string{"key1": "kilobytes"},
- true,
- },
- {
- "Match range without upper bound, no unit conversion required",
- "10b:",
- map[string][]int64{"key1": {12}},
- map[string]string{"key1": "bytes"},
- true,
- },
- {
- "Don't match range without upper bound, no unit conversion required",
- "10b:",
- map[string][]int64{"key1": {8}},
- map[string]string{"key1": "bytes"},
- false,
- },
- {
- "Multiple keys with different units, don't match range without upper bound",
- "10kb:",
- map[string][]int64{"key1": {8}},
- map[string]string{"key1": "bytes", "key2": "kilobytes"},
- false,
- },
- {
- "Match range without upper bound, unit conversion required",
- "10b:",
- map[string][]int64{"key1": {8}},
- map[string]string{"key1": "kilobytes"},
- true,
- },
- {
- "Don't match range without lower bound, no unit conversion required",
- ":10b",
- map[string][]int64{"key1": {12}},
- map[string]string{"key1": "bytes"},
- false,
- },
- {
- "Match specific key, key present, one of two values match",
- "bytes=5b",
- map[string][]int64{"bytes": {10, 5}},
- map[string]string{"bytes": "bytes"},
- true,
- },
- {
- "Match specific key, key present and value matches",
- "bytes=1024b",
- map[string][]int64{"bytes": {1024}},
- map[string]string{"bytes": "kilobytes"},
- false,
- },
- {
- "Match specific key, matching key present and value matches, also non-matching key",
- "bytes=1024b",
- map[string][]int64{"bytes": {1024}, "key2": {5}},
- map[string]string{"bytes": "bytes", "key2": "bytes"},
- true,
- },
- {
- "Match specific key and range of values, value matches",
- "bytes=512b:1024b",
- map[string][]int64{"bytes": {780}},
- map[string]string{"bytes": "bytes"},
- true,
- },
- {
- "Match specific key and range of values, value too large",
- "key1=1kb:2kb",
- map[string][]int64{"key1": {4096}},
- map[string]string{"key1": "bytes"},
- false,
- },
- {
- "Match specific key and range of values, value too small",
- "key1=1kb:2kb",
- map[string][]int64{"key1": {256}},
- map[string]string{"key1": "bytes"},
- false,
- },
- {
- "Match specific key and value, unit conversion required",
- "bytes=1024b",
- map[string][]int64{"bytes": {1}},
- map[string]string{"bytes": "kilobytes"},
- true,
- },
- {
- "Match specific key and value, key does not appear",
- "key2=256bytes",
- map[string][]int64{"key1": {256}},
- map[string]string{"key1": "bytes"},
- false,
- },
- }
- for _, test := range tagFilterTests {
- t.Run(test.desc, func(*testing.T) {
- wantErrMsg := strings.Join([]string{"(", test.desc, ":Interpreted '", test.value[strings.Index(test.value, "=")+1:], "' as range, not regexp", ")"}, "")
- filter, err := compileTagFilter(test.desc, test.value, test.identifiedUnits, &proftest.TestUI{T: t,
- AllowRx: wantErrMsg}, nil)
- if err != nil {
- t.Fatalf("%v", err)
- }
- s := profile.Sample{
- NumLabel: test.tags,
- }
- if got := filter(&s); got != test.want {
- t.Fatalf("got %v, want %v", got, test.want)
- }
- })
- }
-}
-
-type testSymbolzMergeFetcher struct{}
-
-func (testSymbolzMergeFetcher) Fetch(s string, d, t time.Duration) (*profile.Profile, string, error) {
- var p *profile.Profile
- switch s {
- case testSourceURL(8000) + "symbolz":
- p = symzProfile()
- case testSourceURL(8001) + "symbolz":
- p = symzProfile()
- p.Mapping[0].Start += testOffset
- p.Mapping[0].Limit += testOffset
- for i := range p.Location {
- p.Location[i].Address += testOffset
- }
- default:
- return nil, "", fmt.Errorf("unexpected source: %s", s)
- }
- return p, s, nil
-}
-
-func TestSymbolzAfterMerge(t *testing.T) {
- baseVars := pprofVariables
- pprofVariables = baseVars.makeCopy()
- defer func() { pprofVariables = baseVars }()
-
- f := baseFlags()
- f.args = []string{
- testSourceURL(8000) + "symbolz",
- testSourceURL(8001) + "symbolz",
- }
-
- o := setDefaults(nil)
- o.Flagset = f
- o.Obj = new(mockObjTool)
- src, cmd, err := parseFlags(o)
- if err != nil {
- t.Fatalf("parseFlags: %v", err)
- }
-
- if len(cmd) != 1 || cmd[0] != "proto" {
- t.Fatalf("parseFlags returned command %v, want [proto]", cmd)
- }
-
- o.Fetch = testSymbolzMergeFetcher{}
- o.Sym = testSymbolzSymbolizer{}
- p, err := fetchProfiles(src, o)
- if err != nil {
- t.Fatalf("fetchProfiles: %v", err)
- }
- if len(p.Location) != 3 {
- t.Errorf("Got %d locations after merge, want %d", len(p.Location), 3)
- }
- for i, l := range p.Location {
- if len(l.Line) != 1 {
- t.Errorf("Number of lines for symbolz %#x in iteration %d, got %d, want %d", l.Address, i, len(l.Line), 1)
- continue
- }
- address := l.Address - l.Mapping.Start
- if got, want := l.Line[0].Function.Name, fmt.Sprintf("%#x", address); got != want {
- t.Errorf("symbolz %#x, got %s, want %s", address, got, want)
- }
- }
-}
-
-type mockObjTool struct{}
-
-func (*mockObjTool) Open(file string, start, limit, offset uint64) (plugin.ObjFile, error) {
- return &mockFile{file, "abcdef", 0}, nil
-}
-
-func (m *mockObjTool) Disasm(file string, start, end uint64) ([]plugin.Inst, error) {
- switch start {
- case 0x1000:
- return []plugin.Inst{
- {Addr: 0x1000, Text: "instruction one", File: "file1000.src", Line: 1},
- {Addr: 0x1001, Text: "instruction two", File: "file1000.src", Line: 1},
- {Addr: 0x1002, Text: "instruction three", File: "file1000.src", Line: 2},
- {Addr: 0x1003, Text: "instruction four", File: "file1000.src", Line: 1},
- }, nil
- case 0x3000:
- return []plugin.Inst{
- {Addr: 0x3000, Text: "instruction one"},
- {Addr: 0x3001, Text: "instruction two"},
- {Addr: 0x3002, Text: "instruction three"},
- {Addr: 0x3003, Text: "instruction four"},
- {Addr: 0x3004, Text: "instruction five"},
- }, nil
- }
- return nil, fmt.Errorf("unimplemented")
-}
-
-type mockFile struct {
- name, buildID string
- base uint64
-}
-
-// Name returns the underlyinf file name, if available
-func (m *mockFile) Name() string {
- return m.name
-}
-
-// Base returns the base address to use when looking up symbols in the file.
-func (m *mockFile) Base() uint64 {
- return m.base
-}
-
-// BuildID returns the GNU build ID of the file, or an empty string.
-func (m *mockFile) BuildID() string {
- return m.buildID
-}
-
-// SourceLine reports the source line information for a given
-// address in the file. Due to inlining, the source line information
-// is in general a list of positions representing a call stack,
-// with the leaf function first.
-func (*mockFile) SourceLine(addr uint64) ([]plugin.Frame, error) {
- return nil, fmt.Errorf("unimplemented")
-}
-
-// Symbols returns a list of symbols in the object file.
-// If r is not nil, Symbols restricts the list to symbols
-// with names matching the regular expression.
-// If addr is not zero, Symbols restricts the list to symbols
-// containing that address.
-func (m *mockFile) Symbols(r *regexp.Regexp, addr uint64) ([]*plugin.Sym, error) {
- switch r.String() {
- case "line[13]":
- return []*plugin.Sym{
- {
- Name: []string{"line1000"}, File: m.name,
- Start: 0x1000, End: 0x1003,
- },
- {
- Name: []string{"line3000"}, File: m.name,
- Start: 0x3000, End: 0x3004,
- },
- }, nil
- }
- return nil, fmt.Errorf("unimplemented")
-}
-
-// Close closes the file, releasing associated resources.
-func (*mockFile) Close() error {
- return nil
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go
deleted file mode 100644
index b9e9dfe8f4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go
+++ /dev/null
@@ -1,758 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package driver
-
-import (
- "crypto/ecdsa"
- "crypto/elliptic"
- "crypto/rand"
- "crypto/tls"
- "crypto/x509"
- "encoding/pem"
- "fmt"
- "io/ioutil"
- "math/big"
- "net"
- "net/http"
- "os"
- "path/filepath"
- "reflect"
- "regexp"
- "runtime"
- "strings"
- "testing"
- "time"
-
- "github.com/google/pprof/internal/binutils"
- "github.com/google/pprof/internal/plugin"
- "github.com/google/pprof/internal/proftest"
- "github.com/google/pprof/internal/symbolizer"
- "github.com/google/pprof/internal/transport"
- "github.com/google/pprof/profile"
-)
-
-func TestSymbolizationPath(t *testing.T) {
- if runtime.GOOS == "windows" {
- t.Skip("test assumes Unix paths")
- }
-
- // Save environment variables to restore after test
- saveHome := os.Getenv(homeEnv())
- savePath := os.Getenv("PPROF_BINARY_PATH")
-
- tempdir, err := ioutil.TempDir("", "home")
- if err != nil {
- t.Fatal("creating temp dir: ", err)
- }
- defer os.RemoveAll(tempdir)
- os.MkdirAll(filepath.Join(tempdir, "pprof", "binaries", "abcde10001"), 0700)
- os.Create(filepath.Join(tempdir, "pprof", "binaries", "abcde10001", "binary"))
-
- obj := testObj{tempdir}
- os.Setenv(homeEnv(), tempdir)
- for _, tc := range []struct {
- env, file, buildID, want string
- msgCount int
- }{
- {"", "/usr/bin/binary", "", "/usr/bin/binary", 0},
- {"", "/usr/bin/binary", "fedcb10000", "/usr/bin/binary", 0},
- {"/usr", "/bin/binary", "", "/usr/bin/binary", 0},
- {"", "/prod/path/binary", "abcde10001", filepath.Join(tempdir, "pprof/binaries/abcde10001/binary"), 0},
- {"/alternate/architecture", "/usr/bin/binary", "", "/alternate/architecture/binary", 0},
- {"/alternate/architecture", "/usr/bin/binary", "abcde10001", "/alternate/architecture/binary", 0},
- {"/nowhere:/alternate/architecture", "/usr/bin/binary", "fedcb10000", "/usr/bin/binary", 1},
- {"/nowhere:/alternate/architecture", "/usr/bin/binary", "abcde10002", "/usr/bin/binary", 1},
- } {
- os.Setenv("PPROF_BINARY_PATH", tc.env)
- p := &profile.Profile{
- Mapping: []*profile.Mapping{
- {
- File: tc.file,
- BuildID: tc.buildID,
- },
- },
- }
- s := &source{}
- locateBinaries(p, s, obj, &proftest.TestUI{T: t, Ignore: tc.msgCount})
- if file := p.Mapping[0].File; file != tc.want {
- t.Errorf("%s:%s:%s, want %s, got %s", tc.env, tc.file, tc.buildID, tc.want, file)
- }
- }
- os.Setenv(homeEnv(), saveHome)
- os.Setenv("PPROF_BINARY_PATH", savePath)
-}
-
-func TestCollectMappingSources(t *testing.T) {
- const startAddress uint64 = 0x40000
- const url = "http://example.com"
- for _, tc := range []struct {
- file, buildID string
- want plugin.MappingSources
- }{
- {"/usr/bin/binary", "buildId", mappingSources("buildId", url, startAddress)},
- {"/usr/bin/binary", "", mappingSources("/usr/bin/binary", url, startAddress)},
- {"", "", mappingSources(url, url, startAddress)},
- } {
- p := &profile.Profile{
- Mapping: []*profile.Mapping{
- {
- File: tc.file,
- BuildID: tc.buildID,
- Start: startAddress,
- },
- },
- }
- got := collectMappingSources(p, url)
- if !reflect.DeepEqual(got, tc.want) {
- t.Errorf("%s:%s, want %v, got %v", tc.file, tc.buildID, tc.want, got)
- }
- }
-}
-
-func TestUnsourceMappings(t *testing.T) {
- for _, tc := range []struct {
- file, buildID, want string
- }{
- {"/usr/bin/binary", "buildId", "/usr/bin/binary"},
- {"http://example.com", "", ""},
- } {
- p := &profile.Profile{
- Mapping: []*profile.Mapping{
- {
- File: tc.file,
- BuildID: tc.buildID,
- },
- },
- }
- unsourceMappings(p)
- if got := p.Mapping[0].File; got != tc.want {
- t.Errorf("%s:%s, want %s, got %s", tc.file, tc.buildID, tc.want, got)
- }
- }
-}
-
-type testObj struct {
- home string
-}
-
-func (o testObj) Open(file string, start, limit, offset uint64) (plugin.ObjFile, error) {
- switch file {
- case "/alternate/architecture/binary":
- return testFile{file, "abcde10001"}, nil
- case "/usr/bin/binary":
- return testFile{file, "fedcb10000"}, nil
- case filepath.Join(o.home, "pprof/binaries/abcde10001/binary"):
- return testFile{file, "abcde10001"}, nil
- }
- return nil, fmt.Errorf("not found: %s", file)
-}
-func (testObj) Demangler(_ string) func(names []string) (map[string]string, error) {
- return func(names []string) (map[string]string, error) { return nil, nil }
-}
-func (testObj) Disasm(file string, start, end uint64) ([]plugin.Inst, error) { return nil, nil }
-
-type testFile struct{ name, buildID string }
-
-func (f testFile) Name() string { return f.name }
-func (testFile) Base() uint64 { return 0 }
-func (f testFile) BuildID() string { return f.buildID }
-func (testFile) SourceLine(addr uint64) ([]plugin.Frame, error) { return nil, nil }
-func (testFile) Symbols(r *regexp.Regexp, addr uint64) ([]*plugin.Sym, error) { return nil, nil }
-func (testFile) Close() error { return nil }
-
-func TestFetch(t *testing.T) {
- const path = "testdata/"
- type testcase struct {
- source, execName string
- }
-
- for _, tc := range []testcase{
- {path + "go.crc32.cpu", ""},
- {path + "go.nomappings.crash", "/bin/gotest.exe"},
- {"http://localhost/profile?file=cppbench.cpu", ""},
- } {
- p, _, _, err := grabProfile(&source{ExecName: tc.execName}, tc.source, nil, testObj{}, &proftest.TestUI{T: t}, &httpTransport{})
- if err != nil {
- t.Fatalf("%s: %s", tc.source, err)
- }
- if len(p.Sample) == 0 {
- t.Errorf("%s: want non-zero samples", tc.source)
- }
- if e := tc.execName; e != "" {
- switch {
- case len(p.Mapping) == 0 || p.Mapping[0] == nil:
- t.Errorf("%s: want mapping[0].execName == %s, got no mappings", tc.source, e)
- case p.Mapping[0].File != e:
- t.Errorf("%s: want mapping[0].execName == %s, got %s", tc.source, e, p.Mapping[0].File)
- }
- }
- }
-}
-
-func TestFetchWithBase(t *testing.T) {
- baseVars := pprofVariables
- defer func() { pprofVariables = baseVars }()
-
- type WantSample struct {
- values []int64
- labels map[string][]string
- }
-
- const path = "testdata/"
- type testcase struct {
- desc string
- sources []string
- bases []string
- diffBases []string
- normalize bool
- wantSamples []WantSample
- wantErrorMsg string
- }
-
- testcases := []testcase{
- {
- "not normalized base is same as source",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.contention"},
- nil,
- false,
- nil,
- "",
- },
- {
- "not normalized base is same as source",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.contention"},
- nil,
- false,
- nil,
- "",
- },
- {
- "not normalized single source, multiple base (all profiles same)",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.contention", path + "cppbench.contention"},
- nil,
- false,
- []WantSample{
- {
- values: []int64{-2700, -608881724},
- labels: map[string][]string{},
- },
- {
- values: []int64{-100, -23992},
- labels: map[string][]string{},
- },
- {
- values: []int64{-200, -179943},
- labels: map[string][]string{},
- },
- {
- values: []int64{-100, -17778444},
- labels: map[string][]string{},
- },
- {
- values: []int64{-100, -75976},
- labels: map[string][]string{},
- },
- {
- values: []int64{-300, -63568134},
- labels: map[string][]string{},
- },
- },
- "",
- },
- {
- "not normalized, different base and source",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.small.contention"},
- nil,
- false,
- []WantSample{
- {
- values: []int64{1700, 608878600},
- labels: map[string][]string{},
- },
- {
- values: []int64{100, 23992},
- labels: map[string][]string{},
- },
- {
- values: []int64{200, 179943},
- labels: map[string][]string{},
- },
- {
- values: []int64{100, 17778444},
- labels: map[string][]string{},
- },
- {
- values: []int64{100, 75976},
- labels: map[string][]string{},
- },
- {
- values: []int64{300, 63568134},
- labels: map[string][]string{},
- },
- },
- "",
- },
- {
- "normalized base is same as source",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.contention"},
- nil,
- true,
- nil,
- "",
- },
- {
- "normalized single source, multiple base (all profiles same)",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.contention", path + "cppbench.contention"},
- nil,
- true,
- nil,
- "",
- },
- {
- "normalized different base and source",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.small.contention"},
- nil,
- true,
- []WantSample{
- {
- values: []int64{-229, -370},
- labels: map[string][]string{},
- },
- {
- values: []int64{28, 0},
- labels: map[string][]string{},
- },
- {
- values: []int64{57, 0},
- labels: map[string][]string{},
- },
- {
- values: []int64{28, 80},
- labels: map[string][]string{},
- },
- {
- values: []int64{28, 0},
- labels: map[string][]string{},
- },
- {
- values: []int64{85, 287},
- labels: map[string][]string{},
- },
- },
- "",
- },
- {
- "not normalized diff base is same as source",
- []string{path + "cppbench.contention"},
- nil,
- []string{path + "cppbench.contention"},
- false,
- []WantSample{
- {
- values: []int64{2700, 608881724},
- labels: map[string][]string{},
- },
- {
- values: []int64{100, 23992},
- labels: map[string][]string{},
- },
- {
- values: []int64{200, 179943},
- labels: map[string][]string{},
- },
- {
- values: []int64{100, 17778444},
- labels: map[string][]string{},
- },
- {
- values: []int64{100, 75976},
- labels: map[string][]string{},
- },
- {
- values: []int64{300, 63568134},
- labels: map[string][]string{},
- },
- {
- values: []int64{-2700, -608881724},
- labels: map[string][]string{"pprof::base": {"true"}},
- },
- {
- values: []int64{-100, -23992},
- labels: map[string][]string{"pprof::base": {"true"}},
- },
- {
- values: []int64{-200, -179943},
- labels: map[string][]string{"pprof::base": {"true"}},
- },
- {
- values: []int64{-100, -17778444},
- labels: map[string][]string{"pprof::base": {"true"}},
- },
- {
- values: []int64{-100, -75976},
- labels: map[string][]string{"pprof::base": {"true"}},
- },
- {
- values: []int64{-300, -63568134},
- labels: map[string][]string{"pprof::base": {"true"}},
- },
- },
- "",
- },
- {
- "diff_base and base both specified",
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.contention"},
- []string{path + "cppbench.contention"},
- false,
- nil,
- "-base and -diff_base flags cannot both be specified",
- },
- }
-
- for _, tc := range testcases {
- t.Run(tc.desc, func(t *testing.T) {
- pprofVariables = baseVars.makeCopy()
- f := testFlags{
- stringLists: map[string][]string{
- "base": tc.bases,
- "diff_base": tc.diffBases,
- },
- bools: map[string]bool{
- "normalize": tc.normalize,
- },
- }
- f.args = tc.sources
-
- o := setDefaults(&plugin.Options{
- UI: &proftest.TestUI{T: t, AllowRx: "Local symbolization failed|Some binary filenames not available"},
- Flagset: f,
- HTTPTransport: transport.New(nil),
- })
- src, _, err := parseFlags(o)
-
- if tc.wantErrorMsg != "" {
- if err == nil {
- t.Fatalf("got nil, want error %q", tc.wantErrorMsg)
- }
-
- if gotErrMsg := err.Error(); gotErrMsg != tc.wantErrorMsg {
- t.Fatalf("got error %q, want error %q", gotErrMsg, tc.wantErrorMsg)
- }
- return
- }
-
- if err != nil {
- t.Fatalf("got error %q, want no error", err)
- }
-
- p, err := fetchProfiles(src, o)
-
- if err != nil {
- t.Fatalf("got error %q, want no error", err)
- }
-
- if got, want := len(p.Sample), len(tc.wantSamples); got != want {
- t.Fatalf("got %d samples want %d", got, want)
- }
-
- for i, sample := range p.Sample {
- if !reflect.DeepEqual(tc.wantSamples[i].values, sample.Value) {
- t.Errorf("for sample %d got values %v, want %v", i, sample.Value, tc.wantSamples[i])
- }
- if !reflect.DeepEqual(tc.wantSamples[i].labels, sample.Label) {
- t.Errorf("for sample %d got labels %v, want %v", i, sample.Label, tc.wantSamples[i].labels)
- }
- }
- })
- }
-}
-
-// mappingSources creates MappingSources map with a single item.
-func mappingSources(key, source string, start uint64) plugin.MappingSources {
- return plugin.MappingSources{
- key: []struct {
- Source string
- Start uint64
- }{
- {Source: source, Start: start},
- },
- }
-}
-
-type httpTransport struct{}
-
-func (tr *httpTransport) RoundTrip(req *http.Request) (*http.Response, error) {
- values := req.URL.Query()
- file := values.Get("file")
-
- if file == "" {
- return nil, fmt.Errorf("want .../file?profile, got %s", req.URL.String())
- }
-
- t := &http.Transport{}
- t.RegisterProtocol("file", http.NewFileTransport(http.Dir("testdata/")))
-
- c := &http.Client{Transport: t}
- return c.Get("file:///" + file)
-}
-
-func closedError() string {
- if runtime.GOOS == "plan9" {
- return "listen hungup"
- }
- return "use of closed"
-}
-
-func TestHTTPSInsecure(t *testing.T) {
- if runtime.GOOS == "nacl" || runtime.GOOS == "js" {
- t.Skip("test assumes tcp available")
- }
- saveHome := os.Getenv(homeEnv())
- tempdir, err := ioutil.TempDir("", "home")
- if err != nil {
- t.Fatal("creating temp dir: ", err)
- }
- defer os.RemoveAll(tempdir)
-
- // pprof writes to $HOME/pprof by default which is not necessarily
- // writeable (e.g. on a Debian buildd) so set $HOME to something we
- // know we can write to for the duration of the test.
- os.Setenv(homeEnv(), tempdir)
- defer os.Setenv(homeEnv(), saveHome)
-
- baseVars := pprofVariables
- pprofVariables = baseVars.makeCopy()
- defer func() { pprofVariables = baseVars }()
-
- tlsCert, _, _ := selfSignedCert(t, "")
- tlsConfig := &tls.Config{Certificates: []tls.Certificate{tlsCert}}
-
- l, err := tls.Listen("tcp", "localhost:0", tlsConfig)
- if err != nil {
- t.Fatalf("net.Listen: got error %v, want no error", err)
- }
-
- donec := make(chan error, 1)
- go func(donec chan<- error) {
- donec <- http.Serve(l, nil)
- }(donec)
- defer func() {
- if got, want := <-donec, closedError(); !strings.Contains(got.Error(), want) {
- t.Fatalf("Serve got error %v, want %q", got, want)
- }
- }()
- defer l.Close()
-
- outputTempFile, err := ioutil.TempFile("", "profile_output")
- if err != nil {
- t.Fatalf("Failed to create tempfile: %v", err)
- }
- defer os.Remove(outputTempFile.Name())
- defer outputTempFile.Close()
-
- address := "https+insecure://" + l.Addr().String() + "/debug/pprof/goroutine"
- s := &source{
- Sources: []string{address},
- Seconds: 10,
- Timeout: 10,
- Symbolize: "remote",
- }
- o := &plugin.Options{
- Obj: &binutils.Binutils{},
- UI: &proftest.TestUI{T: t, AllowRx: "Saved profile in"},
- HTTPTransport: transport.New(nil),
- }
- o.Sym = &symbolizer.Symbolizer{Obj: o.Obj, UI: o.UI}
- p, err := fetchProfiles(s, o)
- if err != nil {
- t.Fatal(err)
- }
- if len(p.SampleType) == 0 {
- t.Fatalf("fetchProfiles(%s) got empty profile: len(p.SampleType)==0", address)
- }
- if len(p.Function) == 0 {
- t.Fatalf("fetchProfiles(%s) got non-symbolized profile: len(p.Function)==0", address)
- }
- if err := checkProfileHasFunction(p, "TestHTTPSInsecure"); err != nil {
- t.Fatalf("fetchProfiles(%s) %v", address, err)
- }
-}
-
-func TestHTTPSWithServerCertFetch(t *testing.T) {
- if runtime.GOOS == "nacl" || runtime.GOOS == "js" {
- t.Skip("test assumes tcp available")
- }
- saveHome := os.Getenv(homeEnv())
- tempdir, err := ioutil.TempDir("", "home")
- if err != nil {
- t.Fatal("creating temp dir: ", err)
- }
- defer os.RemoveAll(tempdir)
-
- // pprof writes to $HOME/pprof by default which is not necessarily
- // writeable (e.g. on a Debian buildd) so set $HOME to something we
- // know we can write to for the duration of the test.
- os.Setenv(homeEnv(), tempdir)
- defer os.Setenv(homeEnv(), saveHome)
-
- baseVars := pprofVariables
- pprofVariables = baseVars.makeCopy()
- defer func() { pprofVariables = baseVars }()
-
- cert, certBytes, keyBytes := selfSignedCert(t, "localhost")
- cas := x509.NewCertPool()
- cas.AppendCertsFromPEM(certBytes)
-
- tlsConfig := &tls.Config{
- RootCAs: cas,
- Certificates: []tls.Certificate{cert},
- ClientAuth: tls.RequireAndVerifyClientCert,
- ClientCAs: cas,
- }
-
- l, err := tls.Listen("tcp", "localhost:0", tlsConfig)
- if err != nil {
- t.Fatalf("net.Listen: got error %v, want no error", err)
- }
-
- donec := make(chan error, 1)
- go func(donec chan<- error) {
- donec <- http.Serve(l, nil)
- }(donec)
- defer func() {
- if got, want := <-donec, closedError(); !strings.Contains(got.Error(), want) {
- t.Fatalf("Serve got error %v, want %q", got, want)
- }
- }()
- defer l.Close()
-
- outputTempFile, err := ioutil.TempFile("", "profile_output")
- if err != nil {
- t.Fatalf("Failed to create tempfile: %v", err)
- }
- defer os.Remove(outputTempFile.Name())
- defer outputTempFile.Close()
-
- // Get port from the address, so request to the server can be made using
- // the host name specified in certificates.
- _, portStr, err := net.SplitHostPort(l.Addr().String())
- if err != nil {
- t.Fatalf("cannot get port from URL: %v", err)
- }
- address := "https://" + "localhost:" + portStr + "/debug/pprof/goroutine"
- s := &source{
- Sources: []string{address},
- Seconds: 10,
- Timeout: 10,
- Symbolize: "remote",
- }
-
- certTempFile, err := ioutil.TempFile("", "cert_output")
- if err != nil {
- t.Errorf("cannot create cert tempfile: %v", err)
- }
- defer os.Remove(certTempFile.Name())
- defer certTempFile.Close()
- certTempFile.Write(certBytes)
-
- keyTempFile, err := ioutil.TempFile("", "key_output")
- if err != nil {
- t.Errorf("cannot create key tempfile: %v", err)
- }
- defer os.Remove(keyTempFile.Name())
- defer keyTempFile.Close()
- keyTempFile.Write(keyBytes)
-
- f := &testFlags{
- strings: map[string]string{
- "tls_cert": certTempFile.Name(),
- "tls_key": keyTempFile.Name(),
- "tls_ca": certTempFile.Name(),
- },
- }
- o := &plugin.Options{
- Obj: &binutils.Binutils{},
- UI: &proftest.TestUI{T: t, AllowRx: "Saved profile in"},
- Flagset: f,
- HTTPTransport: transport.New(f),
- }
-
- o.Sym = &symbolizer.Symbolizer{Obj: o.Obj, UI: o.UI, Transport: o.HTTPTransport}
- p, err := fetchProfiles(s, o)
- if err != nil {
- t.Fatal(err)
- }
- if len(p.SampleType) == 0 {
- t.Fatalf("fetchProfiles(%s) got empty profile: len(p.SampleType)==0", address)
- }
- if len(p.Function) == 0 {
- t.Fatalf("fetchProfiles(%s) got non-symbolized profile: len(p.Function)==0", address)
- }
- if err := checkProfileHasFunction(p, "TestHTTPSWithServerCertFetch"); err != nil {
- t.Fatalf("fetchProfiles(%s) %v", address, err)
- }
-}
-
-func checkProfileHasFunction(p *profile.Profile, fname string) error {
- for _, f := range p.Function {
- if strings.Contains(f.Name, fname) {
- return nil
- }
- }
- return fmt.Errorf("got %s, want function %q", p.String(), fname)
-}
-
-// selfSignedCert generates a self-signed certificate, and returns the
-// generated certificate, and byte arrays containing the certificate and
-// key associated with the certificate.
-func selfSignedCert(t *testing.T, host string) (tls.Certificate, []byte, []byte) {
- privKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
- if err != nil {
- t.Fatalf("failed to generate private key: %v", err)
- }
- b, err := x509.MarshalECPrivateKey(privKey)
- if err != nil {
- t.Fatalf("failed to marshal private key: %v", err)
- }
- bk := pem.EncodeToMemory(&pem.Block{Type: "EC PRIVATE KEY", Bytes: b})
-
- tmpl := x509.Certificate{
- SerialNumber: big.NewInt(1),
- NotBefore: time.Now(),
- NotAfter: time.Now().Add(10 * time.Minute),
- IsCA: true,
- DNSNames: []string{host},
- }
-
- b, err = x509.CreateCertificate(rand.Reader, &tmpl, &tmpl, privKey.Public(), privKey)
- if err != nil {
- t.Fatalf("failed to create cert: %v", err)
- }
- bc := pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: b})
-
- cert, err := tls.X509KeyPair(bc, bk)
- if err != nil {
- t.Fatalf("failed to create TLS key pair: %v", err)
- }
- return cert, bc, bk
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive_test.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive_test.go
deleted file mode 100644
index 758adf9bdc..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive_test.go
+++ /dev/null
@@ -1,316 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package driver
-
-import (
- "fmt"
- "math/rand"
- "strings"
- "testing"
-
- "github.com/google/pprof/internal/plugin"
- "github.com/google/pprof/internal/proftest"
- "github.com/google/pprof/internal/report"
- "github.com/google/pprof/internal/transport"
- "github.com/google/pprof/profile"
-)
-
-func TestShell(t *testing.T) {
- p := &profile.Profile{}
- generateReportWrapper = checkValue
- defer func() { generateReportWrapper = generateReport }()
-
- // Use test commands and variables to exercise interactive processing
- var savedCommands commands
- savedCommands, pprofCommands = pprofCommands, testCommands
- defer func() { pprofCommands = savedCommands }()
-
- savedVariables := pprofVariables
- defer func() { pprofVariables = savedVariables }()
-
- // Random interleave of independent scripts
- pprofVariables = testVariables(savedVariables)
-
- // pass in HTTPTransport when setting defaults, because otherwise default
- // transport will try to add flags to the default flag set.
- o := setDefaults(&plugin.Options{HTTPTransport: transport.New(nil)})
- o.UI = newUI(t, interleave(script, 0))
- if err := interactive(p, o); err != nil {
- t.Error("first attempt:", err)
- }
- // Random interleave of independent scripts
- pprofVariables = testVariables(savedVariables)
- o.UI = newUI(t, interleave(script, 1))
- if err := interactive(p, o); err != nil {
- t.Error("second attempt:", err)
- }
-
- // Random interleave of independent scripts with shortcuts
- pprofVariables = testVariables(savedVariables)
- var scScript []string
- pprofShortcuts, scScript = makeShortcuts(interleave(script, 2), 1)
- o.UI = newUI(t, scScript)
- if err := interactive(p, o); err != nil {
- t.Error("first shortcut attempt:", err)
- }
-
- // Random interleave of independent scripts with shortcuts
- pprofVariables = testVariables(savedVariables)
- pprofShortcuts, scScript = makeShortcuts(interleave(script, 1), 2)
- o.UI = newUI(t, scScript)
- if err := interactive(p, o); err != nil {
- t.Error("second shortcut attempt:", err)
- }
-
- // Group with invalid value
- pprofVariables = testVariables(savedVariables)
- ui := &proftest.TestUI{
- T: t,
- Input: []string{"cumulative=this"},
- AllowRx: `Unrecognized value for cumulative: "this". Use one of cum, flat`,
- }
- o.UI = ui
- if err := interactive(p, o); err != nil {
- t.Error("invalid group value:", err)
- }
- // Confirm error message written out once.
- if ui.NumAllowRxMatches != 1 {
- t.Errorf("want error message to be printed 1 time, got %v", ui.NumAllowRxMatches)
- }
- // Verify propagation of IO errors
- pprofVariables = testVariables(savedVariables)
- o.UI = newUI(t, []string{"**error**"})
- if err := interactive(p, o); err == nil {
- t.Error("expected IO error, got nil")
- }
-
-}
-
-var testCommands = commands{
- "check": &command{report.Raw, nil, nil, true, "", ""},
-}
-
-func testVariables(base variables) variables {
- v := base.makeCopy()
-
- v["b"] = &variable{boolKind, "f", "", ""}
- v["bb"] = &variable{boolKind, "f", "", ""}
- v["i"] = &variable{intKind, "0", "", ""}
- v["ii"] = &variable{intKind, "0", "", ""}
- v["f"] = &variable{floatKind, "0", "", ""}
- v["ff"] = &variable{floatKind, "0", "", ""}
- v["s"] = &variable{stringKind, "", "", ""}
- v["ss"] = &variable{stringKind, "", "", ""}
-
- v["ta"] = &variable{boolKind, "f", "radio", ""}
- v["tb"] = &variable{boolKind, "f", "radio", ""}
- v["tc"] = &variable{boolKind, "t", "radio", ""}
-
- return v
-}
-
-// script contains sequences of commands to be executed for testing. Commands
-// are split by semicolon and interleaved randomly, so they must be
-// independent from each other.
-var script = []string{
- "bb=true;bb=false;check bb=false;bb=yes;check bb=true",
- "b=1;check b=true;b=n;check b=false",
- "i=-1;i=-2;check i=-2;i=999999;check i=999999",
- "check ii=0;ii=-1;check ii=-1;ii=100;check ii=100",
- "f=-1;f=-2.5;check f=-2.5;f=0.0001;check f=0.0001",
- "check ff=0;ff=-1.01;check ff=-1.01;ff=100;check ff=100",
- "s=one;s=two;check s=two",
- "ss=tree;check ss=tree;ss=;check ss;ss=forest;check ss=forest",
- "ta=true;check ta=true;check tb=false;check tc=false;tb=1;check tb=true;check ta=false;check tc=false;tc=yes;check tb=false;check ta=false;check tc=true",
-}
-
-func makeShortcuts(input []string, seed int) (shortcuts, []string) {
- rand.Seed(int64(seed))
-
- s := shortcuts{}
- var output, chunk []string
- for _, l := range input {
- chunk = append(chunk, l)
- switch rand.Intn(3) {
- case 0:
- // Create a macro for commands in 'chunk'.
- macro := fmt.Sprintf("alias%d", len(s))
- s[macro] = chunk
- output = append(output, macro)
- chunk = nil
- case 1:
- // Append commands in 'chunk' by themselves.
- output = append(output, chunk...)
- chunk = nil
- case 2:
- // Accumulate commands into 'chunk'
- }
- }
- output = append(output, chunk...)
- return s, output
-}
-
-func newUI(t *testing.T, input []string) plugin.UI {
- return &proftest.TestUI{
- T: t,
- Input: input,
- }
-}
-
-func checkValue(p *profile.Profile, cmd []string, vars variables, o *plugin.Options) error {
- if len(cmd) != 2 {
- return fmt.Errorf("expected len(cmd)==2, got %v", cmd)
- }
-
- input := cmd[1]
- args := strings.SplitN(input, "=", 2)
- if len(args) == 0 {
- return fmt.Errorf("unexpected empty input")
- }
- name, value := args[0], ""
- if len(args) == 2 {
- value = args[1]
- }
-
- gotv := vars[name]
- if gotv == nil {
- return fmt.Errorf("Could not find variable named %s", name)
- }
-
- if got := gotv.stringValue(); got != value {
- return fmt.Errorf("Variable %s, want %s, got %s", name, value, got)
- }
- return nil
-}
-
-func interleave(input []string, seed int) []string {
- var inputs [][]string
- for _, s := range input {
- inputs = append(inputs, strings.Split(s, ";"))
- }
- rand.Seed(int64(seed))
- var output []string
- for len(inputs) > 0 {
- next := rand.Intn(len(inputs))
- output = append(output, inputs[next][0])
- if tail := inputs[next][1:]; len(tail) > 0 {
- inputs[next] = tail
- } else {
- inputs = append(inputs[:next], inputs[next+1:]...)
- }
- }
- return output
-}
-
-func TestInteractiveCommands(t *testing.T) {
- type interactiveTestcase struct {
- input string
- want map[string]string
- }
-
- testcases := []interactiveTestcase{
- {
- "top 10 --cum focus1 -ignore focus2",
- map[string]string{
- "functions": "true",
- "nodecount": "10",
- "cum": "true",
- "focus": "focus1|focus2",
- "ignore": "ignore",
- },
- },
- {
- "top10 --cum focus1 -ignore focus2",
- map[string]string{
- "functions": "true",
- "nodecount": "10",
- "cum": "true",
- "focus": "focus1|focus2",
- "ignore": "ignore",
- },
- },
- {
- "dot",
- map[string]string{
- "functions": "true",
- "nodecount": "80",
- "cum": "false",
- },
- },
- {
- "tags -ignore1 -ignore2 focus1 >out",
- map[string]string{
- "functions": "true",
- "nodecount": "80",
- "cum": "false",
- "output": "out",
- "tagfocus": "focus1",
- "tagignore": "ignore1|ignore2",
- },
- },
- {
- "weblist find -test",
- map[string]string{
- "functions": "false",
- "addresses": "true",
- "noinlines": "true",
- "nodecount": "0",
- "cum": "false",
- "flat": "true",
- "ignore": "test",
- },
- },
- {
- "callgrind fun -ignore >out",
- map[string]string{
- "functions": "false",
- "addresses": "true",
- "nodecount": "0",
- "cum": "false",
- "flat": "true",
- "output": "out",
- },
- },
- {
- "999",
- nil, // Error
- },
- }
-
- for _, tc := range testcases {
- cmd, vars, err := parseCommandLine(strings.Fields(tc.input))
- if tc.want == nil && err != nil {
- // Error expected
- continue
- }
- if err != nil {
- t.Errorf("failed on %q: %v", tc.input, err)
- continue
- }
-
- // Get report output format
- c := pprofCommands[cmd[0]]
- if c == nil {
- t.Errorf("unexpected nil command")
- }
- vars = applyCommandOverrides(cmd[0], c.format, vars)
-
- for n, want := range tc.want {
- if got := vars[n].stringValue(); got != want {
- t.Errorf("failed on %q, cmd=%q, %s got %s, want %s", tc.input, cmd, n, got, want)
- }
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention
deleted file mode 100644
index 66a64c950c..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention
+++ /dev/null
@@ -1,24 +0,0 @@
---- contentionz 1 ---
-cycles/second = 3201000000
-sampling period = 100
-ms since reset = 16502830
-discarded samples = 0
- 19490304 27 @ 0xbccc97 0xc61202 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 768 1 @ 0xbccc97 0xa42dc7 0xa456e4 0x7fcdc2ff214e
- 5760 2 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87eab 0xb8814c 0x4e969d 0x4faa17 0x4fc5f6 0x4fd028 0x4fd230 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 569088 1 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87f08 0xb8814c 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 2432 1 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87eab 0xb8814c 0x7aa74c 0x7ab844 0x7ab914 0x79e9e9 0x79e326 0x4d299e 0x4d4b7b 0x4b7be8 0x4b7ff1 0x4d2dae 0x79e80a
- 2034816 3 @ 0xbccc97 0xb82f0f 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
---- Memory map: ---
- 00400000-00fcb000: cppbench_server_main
- 7fcdc231e000-7fcdc2321000: /libnss_cache-2.15.so
- 7fcdc2522000-7fcdc252e000: /libnss_files-2.15.so
- 7fcdc272f000-7fcdc28dd000: /libc-2.15.so
- 7fcdc2ae7000-7fcdc2be2000: /libm-2.15.so
- 7fcdc2de3000-7fcdc2dea000: /librt-2.15.so
- 7fcdc2feb000-7fcdc3003000: /libpthread-2.15.so
- 7fcdc3208000-7fcdc320a000: /libdl-2.15.so
- 7fcdc340c000-7fcdc3415000: /libcrypt-2.15.so
- 7fcdc3645000-7fcdc3669000: /ld-2.15.so
- 7fff86bff000-7fff86c00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.cpu b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.cpu
deleted file mode 100644
index 95c22e1e8d..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.cpu
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention
deleted file mode 100644
index 230cd90200..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention
+++ /dev/null
@@ -1,19 +0,0 @@
---- contentionz 1 ---
-cycles/second = 3201000000
-sampling period = 100
-ms since reset = 16502830
-discarded samples = 0
- 100 10 @ 0xbccc97 0xc61202 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
---- Memory map: ---
- 00400000-00fcb000: cppbench_server_main
- 7fcdc231e000-7fcdc2321000: /libnss_cache-2.15.so
- 7fcdc2522000-7fcdc252e000: /libnss_files-2.15.so
- 7fcdc272f000-7fcdc28dd000: /libc-2.15.so
- 7fcdc2ae7000-7fcdc2be2000: /libm-2.15.so
- 7fcdc2de3000-7fcdc2dea000: /librt-2.15.so
- 7fcdc2feb000-7fcdc3003000: /libpthread-2.15.so
- 7fcdc3208000-7fcdc320a000: /libdl-2.15.so
- 7fcdc340c000-7fcdc3415000: /libcrypt-2.15.so
- 7fcdc3645000-7fcdc3669000: /ld-2.15.so
- 7fff86bff000-7fff86c00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file1000.src b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file1000.src
deleted file mode 100644
index b53eeca5ec..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file1000.src
+++ /dev/null
@@ -1,17 +0,0 @@
-line1
-line2
-line3
-line4
-line5
-line6
-line7
-line8
-line9
-line0
-line1
-line2
-line3
-line4
-line5
-
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file2000.src b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file2000.src
deleted file mode 100644
index b53eeca5ec..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file2000.src
+++ /dev/null
@@ -1,17 +0,0 @@
-line1
-line2
-line3
-line4
-line5
-line6
-line7
-line8
-line9
-line0
-line1
-line2
-line3
-line4
-line5
-
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file3000.src b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file3000.src
deleted file mode 100644
index b53eeca5ec..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/file3000.src
+++ /dev/null
@@ -1,17 +0,0 @@
-line1
-line2
-line3
-line4
-line5
-line6
-line7
-line8
-line9
-line0
-line1
-line2
-line3
-line4
-line5
-
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.crc32.cpu b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.crc32.cpu
deleted file mode 100644
index ce08313de0..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.crc32.cpu
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.nomappings.crash b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.nomappings.crash
deleted file mode 100644
index 4915d5a2ae..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/go.nomappings.crash
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot
deleted file mode 100644
index 30cece7a37..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot
+++ /dev/null
@@ -1,10 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid-contention" [shape=box fontsize=16 label="Build ID: buildid-contention\lComment #1\lComment #2\lType: delay\lShowing nodes accounting for 149.50ms, 100% of 149.50ms total\l"] }
-N1 [label="file3000.src\n32.77ms (21.92%)\nof 149.50ms (100%)" id="node1" fontsize=20 shape=box tooltip="testdata/file3000.src (149.50ms)" color="#b20000" fillcolor="#edd5d5"]
-N2 [label="file1000.src\n51.20ms (34.25%)" id="node2" fontsize=23 shape=box tooltip="testdata/file1000.src (51.20ms)" color="#b23100" fillcolor="#eddbd5"]
-N3 [label="file2000.src\n65.54ms (43.84%)\nof 75.78ms (50.68%)" id="node3" fontsize=24 shape=box tooltip="testdata/file2000.src (75.78ms)" color="#b22000" fillcolor="#edd9d5"]
-N1 -> N3 [label=" 75.78ms" weight=51 penwidth=3 color="#b22000" tooltip="testdata/file3000.src -> testdata/file2000.src (75.78ms)" labeltooltip="testdata/file3000.src -> testdata/file2000.src (75.78ms)"]
-N1 -> N2 [label=" 40.96ms" weight=28 penwidth=2 color="#b23900" tooltip="testdata/file3000.src -> testdata/file1000.src (40.96ms)" labeltooltip="testdata/file3000.src -> testdata/file1000.src (40.96ms)"]
-N3 -> N2 [label=" 10.24ms" weight=7 color="#b29775" tooltip="testdata/file2000.src -> testdata/file1000.src (10.24ms)" labeltooltip="testdata/file2000.src -> testdata/file1000.src (10.24ms)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore
deleted file mode 100644
index 03fbbb5296..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore
+++ /dev/null
@@ -1,9 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid-contention" [shape=box fontsize=16 label="Build ID: buildid-contention\lComment #1\lComment #2\lType: delay\lActive filters:\l focus=[X1]000\l ignore=[X3]002\lShowing nodes accounting for 40.96ms, 27.40% of 149.50ms total\l"] }
-N1 [label="0000000000001000\nline1000\nfile1000.src:1\n40.96ms (27.40%)" id="node1" fontsize=24 shape=box tooltip="0000000000001000 line1000 testdata/file1000.src:1 (40.96ms)" color="#b23900" fillcolor="#edddd5"]
-N2 [label="0000000000003001\nline3000\nfile3000.src:5\n0 of 40.96ms (27.40%)" id="node2" fontsize=8 shape=box tooltip="0000000000003001 line3000 testdata/file3000.src:5 (40.96ms)" color="#b23900" fillcolor="#edddd5"]
-N3 [label="0000000000003001\nline3001\nfile3000.src:3\n0 of 40.96ms (27.40%)" id="node3" fontsize=8 shape=box tooltip="0000000000003001 line3001 testdata/file3000.src:3 (40.96ms)" color="#b23900" fillcolor="#edddd5"]
-N2 -> N3 [label=" 40.96ms\n (inline)" weight=28 penwidth=2 color="#b23900" tooltip="0000000000003001 line3000 testdata/file3000.src:5 -> 0000000000003001 line3001 testdata/file3000.src:3 (40.96ms)" labeltooltip="0000000000003001 line3000 testdata/file3000.src:5 -> 0000000000003001 line3001 testdata/file3000.src:3 (40.96ms)"]
-N3 -> N1 [label=" 40.96ms" weight=28 penwidth=2 color="#b23900" tooltip="0000000000003001 line3001 testdata/file3000.src:3 -> 0000000000001000 line1000 testdata/file1000.src:1 (40.96ms)" labeltooltip="0000000000003001 line3001 testdata/file3000.src:3 -> 0000000000001000 line1000 testdata/file1000.src:1 (40.96ms)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind
deleted file mode 100644
index e2286f631a..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind
+++ /dev/null
@@ -1,99 +0,0 @@
-positions: instr line
-events: cpu(ms)
-
-ob=(1) /path/to/testbinary
-fl=(1) testdata/file1000.src
-fn=(1) line1000
-0x1000 1 1000
-* 1 100
-
-ob=(1)
-fl=(2) testdata/file2000.src
-fn=(2) line2001
-+4096 9 10
-
-ob=(1)
-fl=(3) testdata/file3000.src
-fn=(3) line3002
-+4096 2 10
-cfl=(2)
-cfn=(4) line2000 [1/2]
-calls=0 * 4
-* * 1000
-
-ob=(1)
-fl=(2)
-fn=(5) line2000
--4096 4 0
-cfl=(2)
-cfn=(6) line2001 [2/2]
-calls=0 -4096 9
-* * 1000
-* 4 0
-cfl=(2)
-cfn=(7) line2001 [1/2]
-calls=0 * 9
-* * 10
-
-ob=(1)
-fl=(2)
-fn=(2)
-* 9 0
-cfl=(1)
-cfn=(8) line1000 [1/2]
-calls=0 -4096 1
-* * 1000
-
-ob=(1)
-fl=(3)
-fn=(9) line3000
-+4096 6 0
-cfl=(3)
-cfn=(10) line3001 [1/2]
-calls=0 +4096 5
-* * 1010
-
-ob=(1)
-fl=(3)
-fn=(11) line3001
-* 5 0
-cfl=(3)
-cfn=(12) line3002 [1/2]
-calls=0 * 2
-* * 1010
-
-ob=(1)
-fl=(3)
-fn=(9)
-+1 9 0
-cfl=(3)
-cfn=(13) line3001 [2/2]
-calls=0 +1 8
-* * 100
-
-ob=(1)
-fl=(3)
-fn=(11)
-* 8 0
-cfl=(1)
-cfn=(14) line1000 [2/2]
-calls=0 -8193 1
-* * 100
-
-ob=(1)
-fl=(3)
-fn=(9)
-+1 9 0
-cfl=(3)
-cfn=(15) line3002 [2/2]
-calls=0 +1 5
-* * 10
-
-ob=(1)
-fl=(3)
-fn=(3)
-* 5 0
-cfl=(2)
-cfn=(16) line2000 [2/2]
-calls=0 -4098 4
-* * 10
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.callgrind b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.callgrind
deleted file mode 100644
index 0b0499638c..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.callgrind
+++ /dev/null
@@ -1,88 +0,0 @@
-positions: instr line
-events: cpu(ms)
-
-ob=(1) /path/to/testbinary
-fl=(1) testdata/file1000.src
-fn=(1) line1000
-0x1000 1 1100
-
-ob=(1)
-fl=(2) testdata/file2000.src
-fn=(2) line2001
-+4096 9 10
-cfl=(1)
-cfn=(1)
-calls=0 * 1
-* * 1000
-
-ob=(1)
-fl=(3) testdata/file3000.src
-fn=(3) line3002
-+4096 2 10
-cfl=(2)
-cfn=(4) line2000
-calls=0 * 4
-* * 1000
-
-ob=(1)
-fl=(2)
-fn=(4)
--4096 4 0
-cfl=(2)
-cfn=(2)
-calls=0 -4096 9
-* * 1010
-
-ob=(1)
-fl=(3)
-fn=(5) line3000
-+4096 6 0
-cfl=(3)
-cfn=(6) line3001
-calls=0 +4096 5
-* * 1010
-
-ob=(1)
-fl=(3)
-fn=(6)
-* 5 0
-cfl=(3)
-cfn=(3)
-calls=0 * 2
-* * 1010
-
-ob=(1)
-fl=(3)
-fn=(5)
-+1 9 0
-cfl=(3)
-cfn=(6)
-calls=0 +1 8
-* * 100
-
-ob=(1)
-fl=(3)
-fn=(6)
-* 8 0
-cfl=(1)
-cfn=(1)
-calls=0 -8193 1
-* * 100
-
-ob=(1)
-fl=(3)
-fn=(5)
-+1 9 0
-cfl=(3)
-cfn=(3)
-calls=0 +1 5
-* * 10
-
-ob=(1)
-fl=(3)
-fn=(3)
-* 5 0
-cfl=(2)
-cfn=(4)
-calls=0 -4098 4
-* * 10
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments
deleted file mode 100644
index e6d9824e1b..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments
+++ /dev/null
@@ -1 +0,0 @@
-some-comment
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide
deleted file mode 100644
index f0d928d76f..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide
+++ /dev/null
@@ -1,8 +0,0 @@
-Active filters:
- focus=[12]00
- hide=line[X3]0
-Showing nodes accounting for 1.11s, 99.11% of 1.12s total
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% line1000 testdata/file1000.src:1
- 0 0% 98.21% 1.01s 90.18% line2000 testdata/file2000.src:4
- 0.01s 0.89% 99.11% 1.01s 90.18% line2001 testdata/file2000.src:9 (inline)
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide
deleted file mode 100644
index bf503a57db..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide
+++ /dev/null
@@ -1,7 +0,0 @@
-Active filters:
- hide=line[X3]0
-Showing nodes accounting for 1.11s, 99.11% of 1.12s total
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% line1000 testdata/file1000.src:1
- 0 0% 98.21% 1.01s 90.18% line2000 testdata/file2000.src:4
- 0.01s 0.89% 99.11% 1.01s 90.18% line2001 testdata/file2000.src:9 (inline)
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show
deleted file mode 100644
index 7604cb8d7b..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show
+++ /dev/null
@@ -1,7 +0,0 @@
-Active filters:
- show=[12]00
-Showing nodes accounting for 1.11s, 99.11% of 1.12s total
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% line1000 testdata/file1000.src:1
- 0 0% 98.21% 1.01s 90.18% line2000 testdata/file2000.src:4
- 0.01s 0.89% 99.11% 1.01s 90.18% line2001 testdata/file2000.src:9 (inline)
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide
deleted file mode 100644
index 94b9be83df..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide
+++ /dev/null
@@ -1,5 +0,0 @@
-Active filters:
- hide=mangled[X3]0
-Showing nodes accounting for 1s, 100% of 1s total
- flat flat% sum% cum cum%
- 1s 100% 100% 1s 100% mangled1000 testdata/file1000.src:1
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.tree.show_from b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.tree.show_from
deleted file mode 100644
index 112b49b383..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.tree.show_from
+++ /dev/null
@@ -1,16 +0,0 @@
-Active filters:
- show_from=line2
-Showing nodes accounting for 1.01s, 90.18% of 1.12s total
-----------------------------------------------------------+-------------
- flat flat% sum% cum cum% calls calls% + context
-----------------------------------------------------------+-------------
- 0 0% 0% 1.01s 90.18% | line2000 testdata/file2000.src:4
- 1.01s 100% | line2001 testdata/file2000.src:9 (inline)
-----------------------------------------------------------+-------------
- 1.01s 100% | line2000 testdata/file2000.src:4 (inline)
- 0.01s 0.89% 0.89% 1.01s 90.18% | line2001 testdata/file2000.src:9
- 1s 99.01% | line1000 testdata/file1000.src:1
-----------------------------------------------------------+-------------
- 1s 100% | line2001 testdata/file2000.src:9
- 1s 89.29% 90.18% 1s 89.29% | line1000 testdata/file1000.src:1
-----------------------------------------------------------+-------------
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm
deleted file mode 100644
index e1df7b1b64..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm
+++ /dev/null
@@ -1,14 +0,0 @@
-Total: 1.12s
-ROUTINE ======================== line1000
- 1.10s 1.10s (flat, cum) 98.21% of Total
- 1.10s 1.10s 1000: instruction one ;line1000 file1000.src:1
- . . 1001: instruction two ;file1000.src:1
- . . 1002: instruction three ;file1000.src:2
- . . 1003: instruction four ;file1000.src:1
-ROUTINE ======================== line3000
- 10ms 1.12s (flat, cum) 100% of Total
- 10ms 1.01s 3000: instruction one ;line3000 file3000.src:6
- . 100ms 3001: instruction two ;line3000 file3000.src:9
- . 10ms 3002: instruction three
- . . 3003: instruction four
- . . 3004: instruction five
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.noinlines.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.noinlines.text
deleted file mode 100644
index d53c44dad9..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.noinlines.text
+++ /dev/null
@@ -1,7 +0,0 @@
-Showing nodes accounting for 1.12s, 100% of 1.12s total
-Dropped 1 node (cum <= 0.06s)
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% 0000000000001000 line1000 testdata/file1000.src:1
- 0.01s 0.89% 99.11% 1.01s 90.18% 0000000000002000 line2000 testdata/file2000.src:4
- 0.01s 0.89% 100% 1.01s 90.18% 0000000000003000 line3000 testdata/file3000.src:6
- 0 0% 100% 0.10s 8.93% 0000000000003001 line3000 testdata/file3000.src:9
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist
deleted file mode 100644
index 0284292745..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist
+++ /dev/null
@@ -1,106 +0,0 @@
-
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="UTF-8">
-<title>Pprof listing</title>
-<style type="text/css">
-body {
-font-family: sans-serif;
-}
-h1 {
- font-size: 1.5em;
- margin-bottom: 4px;
-}
-.legend {
- font-size: 1.25em;
-}
-.line, .nop, .unimportant {
- color: #aaaaaa;
-}
-.inlinesrc {
- color: #000066;
-}
-.deadsrc {
-cursor: pointer;
-}
-.deadsrc:hover {
-background-color: #eeeeee;
-}
-.livesrc {
-color: #0000ff;
-cursor: pointer;
-}
-.livesrc:hover {
-background-color: #eeeeee;
-}
-.asm {
-color: #008800;
-display: none;
-}
-</style>
-<script type="text/javascript">
-function pprof_toggle_asm(e) {
- var target;
- if (!e) e = window.event;
- if (e.target) target = e.target;
- else if (e.srcElement) target = e.srcElement;
-
- if (target) {
- var asm = target.nextSibling;
- if (asm && asm.className == "asm") {
- asm.style.display = (asm.style.display == "block" ? "" : "block");
- e.preventDefault();
- return false;
- }
- }
-}
-</script>
-</head>
-<body>
-
-<div class="legend">File: testbinary<br>
-Type: cpu<br>
-Duration: 10s, Total samples = 1.12s (11.20%)<br>Total: 1.12s</div><h2>line1000</h2><p class="filename">testdata/file1000.src</p>
-<pre onClick="pprof_toggle_asm(event)">
- Total: 1.10s 1.10s (flat, cum) 98.21%
-<span class=line> 1</span> <span class=deadsrc> 1.10s 1.10s line1 </span><span class=asm> 1.10s 1.10s 1000: instruction one <span class=unimportant>file1000.src:1</span>
- . . 1001: instruction two <span class=unimportant>file1000.src:1</span>
- â‹®
- . . 1003: instruction four <span class=unimportant>file1000.src:1</span>
-</span>
-<span class=line> 2</span> <span class=deadsrc> . . line2 </span><span class=asm> . . 1002: instruction three <span class=unimportant>file1000.src:2</span>
-</span>
-<span class=line> 3</span> <span class=nop> . . line3 </span>
-<span class=line> 4</span> <span class=nop> . . line4 </span>
-<span class=line> 5</span> <span class=nop> . . line5 </span>
-<span class=line> 6</span> <span class=nop> . . line6 </span>
-<span class=line> 7</span> <span class=nop> . . line7 </span>
-</pre>
-<h2>line3000</h2><p class="filename">testdata/file3000.src</p>
-<pre onClick="pprof_toggle_asm(event)">
- Total: 10ms 1.12s (flat, cum) 100%
-<span class=line> 1</span> <span class=nop> . . line1 </span>
-<span class=line> 2</span> <span class=nop> . . line2 </span>
-<span class=line> 3</span> <span class=nop> . . line3 </span>
-<span class=line> 4</span> <span class=nop> . . line4 </span>
-<span class=line> 5</span> <span class=nop> . . line5 </span>
-<span class=line> 6</span> <span class=deadsrc> 10ms 1.01s line6 </span><span class=asm> 10ms 1.01s 3000: instruction one <span class=unimportant>file3000.src:6</span>
-</span>
-<span class=line> 7</span> <span class=nop> . . line7 </span>
-<span class=line> 8</span> <span class=nop> . . line8 </span>
-<span class=line> 9</span> <span class=deadsrc> . 110ms line9 </span><span class=asm> . 100ms 3001: instruction two <span class=unimportant>file3000.src:9</span>
- . 10ms 3002: instruction three <span class=unimportant>file3000.src:9</span>
- . . 3003: instruction four <span class=unimportant></span>
- . . 3004: instruction five <span class=unimportant></span>
-</span>
-<span class=line> 10</span> <span class=nop> . . line0 </span>
-<span class=line> 11</span> <span class=nop> . . line1 </span>
-<span class=line> 12</span> <span class=nop> . . line2 </span>
-<span class=line> 13</span> <span class=nop> . . line3 </span>
-<span class=line> 14</span> <span class=nop> . . line4 </span>
-</pre>
-
-</body>
-</html>
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.filefunctions.noinlines.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.filefunctions.noinlines.text
deleted file mode 100644
index 88fb760759..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.filefunctions.noinlines.text
+++ /dev/null
@@ -1,5 +0,0 @@
-Showing nodes accounting for 1.12s, 100% of 1.12s total
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% line1000 testdata/file1000.src
- 0.01s 0.89% 99.11% 1.01s 90.18% line2000 testdata/file2000.src
- 0.01s 0.89% 100% 1.12s 100% line3000 testdata/file3000.src
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.call_tree.dot b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.call_tree.dot
deleted file mode 100644
index e854b5d6fa..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.call_tree.dot
+++ /dev/null
@@ -1,21 +0,0 @@
-digraph "testbinary" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "File: testbinary" [shape=box fontsize=16 label="File: testbinary\lType: cpu\lDuration: 10s, Total samples = 1.12s (11.20%)\lShowing nodes accounting for 1.11s, 99.11% of 1.12s total\lDropped 3 nodes (cum <= 0.06s)\l" tooltip="testbinary"] }
-N1 [label="line1000\n1s (89.29%)" id="node1" fontsize=24 shape=box tooltip="line1000 (1s)" color="#b20500" fillcolor="#edd6d5"]
-N1_0 [label = "key1:tag1\nkey2:tag1" id="N1_0" fontsize=8 shape=box3d tooltip="1s"]
-N1 -> N1_0 [label=" 1s" weight=100 tooltip="1s" labeltooltip="1s"]
-N2 [label="line3000\n0 of 1.12s (100%)" id="node2" fontsize=8 shape=box tooltip="line3000 (1.12s)" color="#b20000" fillcolor="#edd5d5"]
-N3 [label="line3001\n0 of 1.11s (99.11%)" id="node3" fontsize=8 shape=box tooltip="line3001 (1.11s)" color="#b20000" fillcolor="#edd5d5"]
-N4 [label="line1000\n0.10s (8.93%)" id="node4" fontsize=14 shape=box tooltip="line1000 (0.10s)" color="#b28b62" fillcolor="#ede8e2"]
-N4_0 [label = "key1:tag2\nkey3:tag2" id="N4_0" fontsize=8 shape=box3d tooltip="0.10s"]
-N4 -> N4_0 [label=" 0.10s" weight=100 tooltip="0.10s" labeltooltip="0.10s"]
-N5 [label="line3002\n0.01s (0.89%)\nof 1.01s (90.18%)" id="node5" fontsize=10 shape=box tooltip="line3002 (1.01s)" color="#b20500" fillcolor="#edd6d5"]
-N6 [label="line2000\n0 of 1s (89.29%)" id="node6" fontsize=8 shape=box tooltip="line2000 (1s)" color="#b20500" fillcolor="#edd6d5"]
-N7 [label="line2001\n0 of 1s (89.29%)" id="node7" fontsize=8 shape=box tooltip="line2001 (1s)" color="#b20500" fillcolor="#edd6d5"]
-N2 -> N3 [label=" 1.11s\n (inline)" weight=100 penwidth=5 color="#b20000" tooltip="line3000 -> line3001 (1.11s)" labeltooltip="line3000 -> line3001 (1.11s)"]
-N3 -> N5 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line3001 -> line3002 (1.01s)" labeltooltip="line3001 -> line3002 (1.01s)"]
-N6 -> N7 [label=" 1s\n (inline)" weight=90 penwidth=5 color="#b20500" tooltip="line2000 -> line2001 (1s)" labeltooltip="line2000 -> line2001 (1s)"]
-N7 -> N1 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line2001 -> line1000 (1s)" labeltooltip="line2001 -> line1000 (1s)"]
-N5 -> N6 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line3002 -> line2000 (1s)" labeltooltip="line3002 -> line2000 (1s)"]
-N3 -> N4 [label=" 0.10s" weight=9 color="#b28b62" tooltip="line3001 -> line1000 (0.10s)" labeltooltip="line3001 -> line1000 (0.10s)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.dot b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.dot
deleted file mode 100644
index f0a5226b89..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.dot
+++ /dev/null
@@ -1,20 +0,0 @@
-digraph "testbinary" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "File: testbinary" [shape=box fontsize=16 label="File: testbinary\lType: cpu\lDuration: 10s, Total samples = 1.12s (11.20%)\lShowing nodes accounting for 1.12s, 100% of 1.12s total\l" tooltip="testbinary"] }
-N1 [label="line1000\n1.10s (98.21%)" id="node1" fontsize=24 shape=box tooltip="line1000 (1.10s)" color="#b20000" fillcolor="#edd5d5"]
-N1_0 [label = "key1:tag1\nkey2:tag1" id="N1_0" fontsize=8 shape=box3d tooltip="1s"]
-N1 -> N1_0 [label=" 1s" weight=100 tooltip="1s" labeltooltip="1s"]
-N1_1 [label = "key1:tag2\nkey3:tag2" id="N1_1" fontsize=8 shape=box3d tooltip="0.10s"]
-N1 -> N1_1 [label=" 0.10s" weight=100 tooltip="0.10s" labeltooltip="0.10s"]
-N2 [label="line3000\n0 of 1.12s (100%)" id="node2" fontsize=8 shape=box tooltip="line3000 (1.12s)" color="#b20000" fillcolor="#edd5d5"]
-N3 [label="line3001\n0 of 1.11s (99.11%)" id="node3" fontsize=8 shape=box tooltip="line3001 (1.11s)" color="#b20000" fillcolor="#edd5d5"]
-N4 [label="line3002\n0.01s (0.89%)\nof 1.02s (91.07%)" id="node4" fontsize=10 shape=box tooltip="line3002 (1.02s)" color="#b20400" fillcolor="#edd6d5"]
-N5 [label="line2001\n0.01s (0.89%)\nof 1.01s (90.18%)" id="node5" fontsize=10 shape=box tooltip="line2001 (1.01s)" color="#b20500" fillcolor="#edd6d5"]
-N6 [label="line2000\n0 of 1.01s (90.18%)" id="node6" fontsize=8 shape=box tooltip="line2000 (1.01s)" color="#b20500" fillcolor="#edd6d5"]
-N2 -> N3 [label=" 1.11s\n (inline)" weight=100 penwidth=5 color="#b20000" tooltip="line3000 -> line3001 (1.11s)" labeltooltip="line3000 -> line3001 (1.11s)"]
-N6 -> N5 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line2000 -> line2001 (1.01s)" labeltooltip="line2000 -> line2001 (1.01s)"]
-N3 -> N4 [label=" 1.01s\n (inline)" weight=91 penwidth=5 color="#b20500" tooltip="line3001 -> line3002 (1.01s)" labeltooltip="line3001 -> line3002 (1.01s)"]
-N4 -> N6 [label=" 1.01s" weight=91 penwidth=5 color="#b20500" tooltip="line3002 -> line2000 (1.01s)" labeltooltip="line3002 -> line2000 (1.01s)"]
-N5 -> N1 [label=" 1s" weight=90 penwidth=5 color="#b20500" tooltip="line2001 -> line1000 (1s)" labeltooltip="line2001 -> line1000 (1s)"]
-N3 -> N1 [label=" 0.10s" weight=9 color="#b28b62" tooltip="line3001 -> line1000 (0.10s)" labeltooltip="line3001 -> line1000 (0.10s)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.noinlines.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.noinlines.text
deleted file mode 100644
index 493b4912de..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.noinlines.text
+++ /dev/null
@@ -1,5 +0,0 @@
-Showing nodes accounting for 1.12s, 100% of 1.12s total
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% line1000
- 0.01s 0.89% 99.11% 1.01s 90.18% line2000
- 0.01s 0.89% 100% 1.12s 100% line3000
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.text
deleted file mode 100644
index 66e4189e0a..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.text
+++ /dev/null
@@ -1,8 +0,0 @@
-Showing nodes accounting for 1.12s, 100% of 1.12s total
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% line1000
- 0.01s 0.89% 99.11% 1.01s 90.18% line2001 (inline)
- 0.01s 0.89% 100% 1.02s 91.07% line3002 (inline)
- 0 0% 100% 1.01s 90.18% line2000
- 0 0% 100% 1.12s 100% line3000
- 0 0% 100% 1.11s 99.11% line3001 (inline)
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.lines.topproto b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.lines.topproto
deleted file mode 100644
index 33bf6814a4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.lines.topproto
+++ /dev/null
@@ -1,3 +0,0 @@
-Showing nodes accounting for 1s, 100% of 1s total
- flat flat% sum% cum cum%
- 1s 100% 100% 1s 100% mangled1000 testdata/file1000.src:1
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.peek b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.peek
deleted file mode 100644
index 3b8a3537b4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.peek
+++ /dev/null
@@ -1,13 +0,0 @@
-Showing nodes accounting for 1.12s, 100% of 1.12s total
-----------------------------------------------------------+-------------
- flat flat% sum% cum cum% calls calls% + context
-----------------------------------------------------------+-------------
- 1.01s 100% | line2000 (inline)
- 0.01s 0.89% 0.89% 1.01s 90.18% | line2001
- 1s 99.01% | line1000
-----------------------------------------------------------+-------------
- 1.11s 100% | line3000 (inline)
- 0 0% 0.89% 1.11s 99.11% | line3001
- 1.01s 90.99% | line3002 (inline)
- 0.10s 9.01% | line1000
-----------------------------------------------------------+-------------
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags
deleted file mode 100644
index 5998b5ba5b..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags
+++ /dev/null
@@ -1,13 +0,0 @@
- key1: Total 1.1s
- 1.0s (89.29%): tag1
- 100.0ms ( 8.93%): tag2
- 10.0ms ( 0.89%): tag3
- 10.0ms ( 0.89%): tag4
-
- key2: Total 1.0s
- 1.0s (99.02%): tag1
- 10.0ms ( 0.98%): tag2
-
- key3: Total 100.0ms
- 100.0ms ( 100%): tag2
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags.focus.ignore b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags.focus.ignore
deleted file mode 100644
index 9b99d4368c..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.tags.focus.ignore
+++ /dev/null
@@ -1,6 +0,0 @@
- key1: Total 100.0ms
- 100.0ms ( 100%): tag2
-
- key3: Total 100.0ms
- 100.0ms ( 100%): tag2
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.traces b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.traces
deleted file mode 100644
index d9637c0e42..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.traces
+++ /dev/null
@@ -1,32 +0,0 @@
-File: testbinary
-Type: cpu
-Duration: 10s, Total samples = 1.12s (11.20%)
------------+-------------------------------------------------------
- key1: tag1
- key2: tag1
- 1s line1000
- line2001
- line2000
- line3002
- line3001
- line3000
------------+-------------------------------------------------------
- key1: tag2
- key3: tag2
- 100ms line1000
- line3001
- line3000
------------+-------------------------------------------------------
- key1: tag3
- key2: tag2
- 10ms line2001
- line2000
- line3002
- line3000
------------+-------------------------------------------------------
- key1: tag4
- key2: tag1
- 10ms line3002
- line3001
- line3000
------------+-------------------------------------------------------
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpusmall.flat.addresses.tree b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpusmall.flat.addresses.tree
deleted file mode 100644
index 606db2b887..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpusmall.flat.addresses.tree
+++ /dev/null
@@ -1,17 +0,0 @@
-Showing nodes accounting for 4s, 100% of 4s total
-Showing top 4 nodes out of 5
-----------------------------------------------------------+-------------
- flat flat% sum% cum cum% calls calls% + context
-----------------------------------------------------------+-------------
- 1s 100% | 0000000000003000 [testbinary]
- 1s 25.00% 25.00% 1s 25.00% | 0000000000001000 [testbinary]
-----------------------------------------------------------+-------------
- 1s 25.00% 50.00% 2s 50.00% | 0000000000003000 [testbinary]
- 1s 50.00% | 0000000000001000 [testbinary]
-----------------------------------------------------------+-------------
- 1s 100% | 0000000000005000 [testbinary]
- 1s 25.00% 75.00% 1s 25.00% | 0000000000004000 [testbinary]
-----------------------------------------------------------+-------------
- 1s 25.00% 100% 2s 50.00% | 0000000000005000 [testbinary]
- 1s 50.00% | 0000000000004000 [testbinary]
-----------------------------------------------------------+-------------
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.callgrind b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.callgrind
deleted file mode 100644
index bfd96cb7de..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.callgrind
+++ /dev/null
@@ -1,88 +0,0 @@
-positions: instr line
-events: inuse_space(MB)
-
-ob=
-fl=(1) testdata/file2000.src
-fn=(1) line2001
-0x2000 2 62
-cfl=(2) testdata/file1000.src
-cfn=(2) line1000
-calls=0 0x1000 1
-* * 0
-
-ob=
-fl=(3) testdata/file3000.src
-fn=(3) line3002
-+4096 3 31
-cfl=(1)
-cfn=(4) line2000
-calls=0 * 3
-* * 0
-
-ob=
-fl=(2)
-fn=(2)
--8192 1 4
-
-ob=
-fl=(1)
-fn=(4)
-+4096 3 0
-cfl=(1)
-cfn=(1)
-calls=0 +4096 2
-* * 63
-
-ob=
-fl=(3)
-fn=(5) line3000
-+4096 4 0
-cfl=(3)
-cfn=(6) line3001
-calls=0 +4096 2
-* * 32
-
-ob=
-fl=(3)
-fn=(6)
-* 2 0
-cfl=(3)
-cfn=(3)
-calls=0 * 3
-* * 32
-
-ob=
-fl=(3)
-fn=(5)
-+1 4 0
-cfl=(3)
-cfn=(6)
-calls=0 +1 2
-* * 3
-
-ob=
-fl=(3)
-fn=(6)
-* 2 0
-cfl=(2)
-cfn=(2)
-calls=0 -8193 1
-* * 3
-
-ob=
-fl=(3)
-fn=(5)
-+1 4 0
-cfl=(3)
-cfn=(3)
-calls=0 +1 3
-* * 62
-
-ob=
-fl=(3)
-fn=(3)
-* 3 0
-cfl=(1)
-cfn=(4)
-calls=0 -4098 3
-* * 62
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.comments b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.comments
deleted file mode 100644
index 6eca2fb794..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.comments
+++ /dev/null
@@ -1,2 +0,0 @@
-comment
-#hidden comment
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.lines.tree.focus b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.lines.tree.focus
deleted file mode 100644
index 9d4ba72b1f..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.lines.tree.focus
+++ /dev/null
@@ -1,21 +0,0 @@
-Active filters:
- focus=[24]00
-Showing nodes accounting for 62.50MB, 63.37% of 98.63MB total
-Dropped 2 nodes (cum <= 4.93MB)
-----------------------------------------------------------+-------------
- flat flat% sum% cum cum% calls calls% + context
-----------------------------------------------------------+-------------
- 63.48MB 100% | line3002 testdata/file3000.src:3
- 0 0% 0% 63.48MB 64.36% | line2000 testdata/file2000.src:3
- 63.48MB 100% | line2001 testdata/file2000.src:2 (inline)
-----------------------------------------------------------+-------------
- 63.48MB 100% | line2000 testdata/file2000.src:3 (inline)
- 62.50MB 63.37% 63.37% 63.48MB 64.36% | line2001 testdata/file2000.src:2
-----------------------------------------------------------+-------------
- 0 0% 63.37% 63.48MB 64.36% | line3000 testdata/file3000.src:4
- 63.48MB 100% | line3002 testdata/file3000.src:3 (inline)
-----------------------------------------------------------+-------------
- 63.48MB 100% | line3000 testdata/file3000.src:4 (inline)
- 0 0% 63.37% 63.48MB 64.36% | line3002 testdata/file3000.src:3
- 63.48MB 100% | line2000 testdata/file2000.src:3
-----------------------------------------------------------+-------------
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.relative_percentages.tree.focus b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.relative_percentages.tree.focus
deleted file mode 100644
index c2d11838fe..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.cum.relative_percentages.tree.focus
+++ /dev/null
@@ -1,21 +0,0 @@
-Active filters:
- focus=[24]00
-Showing nodes accounting for 62.50MB, 98.46% of 63.48MB total
-Dropped 2 nodes (cum <= 3.17MB)
-----------------------------------------------------------+-------------
- flat flat% sum% cum cum% calls calls% + context
-----------------------------------------------------------+-------------
- 63.48MB 100% | line3002
- 0 0% 0% 63.48MB 100% | line2000
- 63.48MB 100% | line2001 (inline)
-----------------------------------------------------------+-------------
- 63.48MB 100% | line2000 (inline)
- 62.50MB 98.46% 98.46% 63.48MB 100% | line2001
-----------------------------------------------------------+-------------
- 0 0% 98.46% 63.48MB 100% | line3000
- 63.48MB 100% | line3002 (inline)
-----------------------------------------------------------+-------------
- 63.48MB 100% | line3000 (inline)
- 0 0% 98.46% 63.48MB 100% | line3002
- 63.48MB 100% | line2000
-----------------------------------------------------------+-------------
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.seconds.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.seconds.text
deleted file mode 100644
index b9571ef4ec..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.seconds.text
+++ /dev/null
@@ -1,2 +0,0 @@
-Showing nodes accounting for 0, 0% of 0 total
- flat flat% sum% cum cum%
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text
deleted file mode 100644
index fd536df573..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text
+++ /dev/null
@@ -1,5 +0,0 @@
-Showing nodes accounting for 93.75MB, 95.05% of 98.63MB total
-Dropped 1 node (cum <= 4.93MB)
- flat flat% sum% cum cum%
- 62.50MB 63.37% 63.37% 63.48MB 64.36% testdata/file2000.src
- 31.25MB 31.68% 95.05% 98.63MB 100% testdata/file3000.src
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text.focus b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text.focus
deleted file mode 100644
index 20a503f9b4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text.focus
+++ /dev/null
@@ -1,8 +0,0 @@
-Active filters:
- focus=[12]00
- taghide=[X3]00
-Showing nodes accounting for 67.38MB, 68.32% of 98.63MB total
- flat flat% sum% cum cum%
- 62.50MB 63.37% 63.37% 63.48MB 64.36% testdata/file2000.src
- 4.88MB 4.95% 68.32% 4.88MB 4.95% testdata/file1000.src
- 0 0% 68.32% 67.38MB 68.32% testdata/file3000.src
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_objects.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_objects.text
deleted file mode 100644
index 929461a3c1..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_objects.text
+++ /dev/null
@@ -1,8 +0,0 @@
-Showing nodes accounting for 150, 100% of 150 total
- flat flat% sum% cum cum%
- 80 53.33% 53.33% 130 86.67% line3002 (inline)
- 40 26.67% 80.00% 50 33.33% line2001 (inline)
- 30 20.00% 100% 30 20.00% line1000
- 0 0% 100% 50 33.33% line2000
- 0 0% 100% 150 100% line3000
- 0 0% 100% 110 73.33% line3001 (inline)
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus
deleted file mode 100644
index 909a824f1e..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus
+++ /dev/null
@@ -1,13 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lActive filters:\l tagfocus=1mb:2gb\lShowing nodes accounting for 62.50MB, 63.37% of 98.63MB total\l"] }
-N1 [label="line2001\n62.50MB (63.37%)" id="node1" fontsize=24 shape=box tooltip="line2001 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
-NN1_0 [label = "1.56MB" id="NN1_0" fontsize=8 shape=box3d tooltip="62.50MB"]
-N1 -> NN1_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
-N2 [label="line3000\n0 of 62.50MB (63.37%)" id="node2" fontsize=8 shape=box tooltip="line3000 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
-N3 [label="line2000\n0 of 62.50MB (63.37%)" id="node3" fontsize=8 shape=box tooltip="line2000 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
-N4 [label="line3002\n0 of 62.50MB (63.37%)" id="node4" fontsize=8 shape=box tooltip="line3002 (62.50MB)" color="#b21600" fillcolor="#edd8d5"]
-N3 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line2000 -> line2001 (62.50MB)" labeltooltip="line2000 -> line2001 (62.50MB)"]
-N2 -> N4 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 -> line3002 (62.50MB)" labeltooltip="line3000 -> line3002 (62.50MB)"]
-N4 -> N3 [label=" 62.50MB" weight=64 penwidth=4 color="#b21600" tooltip="line3002 -> line2000 (62.50MB)" labeltooltip="line3002 -> line2000 (62.50MB)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus.ignore b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus.ignore
deleted file mode 100644
index b2929ae667..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.inuse_space.dot.focus.ignore
+++ /dev/null
@@ -1,16 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lActive filters:\l tagfocus=30kb:\l tagignore=1mb:2mb\lShowing nodes accounting for 36.13MB, 36.63% of 98.63MB total\lDropped 2 nodes (cum <= 4.93MB)\l"] }
-N1 [label="line3002\n31.25MB (31.68%)\nof 32.23MB (32.67%)" id="node1" fontsize=24 shape=box tooltip="line3002 (32.23MB)" color="#b23200" fillcolor="#eddcd5"]
-NN1_0 [label = "400kB" id="NN1_0" fontsize=8 shape=box3d tooltip="31.25MB"]
-N1 -> NN1_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
-N2 [label="line3000\n0 of 36.13MB (36.63%)" id="node2" fontsize=8 shape=box tooltip="line3000 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
-N3 [label="line3001\n0 of 36.13MB (36.63%)" id="node3" fontsize=8 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
-N4 [label="line1000\n4.88MB (4.95%)" id="node4" fontsize=15 shape=box tooltip="line1000 (4.88MB)" color="#b2a086" fillcolor="#edeae7"]
-NN4_0 [label = "200kB" id="NN4_0" fontsize=8 shape=box3d tooltip="3.91MB"]
-N4 -> NN4_0 [label=" 3.91MB" weight=100 tooltip="3.91MB" labeltooltip="3.91MB"]
-N2 -> N3 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)"]
-N3 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 -> line3002 (32.23MB)" labeltooltip="line3001 -> line3002 (32.23MB)"]
-N3 -> N4 [label=" 3.91MB" weight=4 color="#b2a58f" tooltip="line3001 -> line1000 (3.91MB)" labeltooltip="line3001 -> line1000 (3.91MB)"]
-N1 -> N4 [label=" 0.98MB" color="#b2b0a9" tooltip="line3002 ... line1000 (0.98MB)" labeltooltip="line3002 ... line1000 (0.98MB)" style="dotted" minlen=2]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.lines.dot.focus b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.lines.dot.focus
deleted file mode 100644
index 9af0341076..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.lines.dot.focus
+++ /dev/null
@@ -1,21 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lActive filters:\l focus=[12]00\lShowing nodes accounting for 67.38MB, 68.32% of 98.63MB total\l"] }
-N1 [label="line3000\nfile3000.src:4\n0 of 67.38MB (68.32%)" id="node1" fontsize=8 shape=box tooltip="line3000 testdata/file3000.src:4 (67.38MB)" color="#b21300" fillcolor="#edd7d5"]
-N2 [label="line2001\nfile2000.src:2\n62.50MB (63.37%)\nof 63.48MB (64.36%)" id="node2" fontsize=24 shape=box tooltip="line2001 testdata/file2000.src:2 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-NN2_0 [label = "1.56MB" id="NN2_0" fontsize=8 shape=box3d tooltip="62.50MB"]
-N2 -> NN2_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
-N3 [label="line1000\nfile1000.src:1\n4.88MB (4.95%)" id="node3" fontsize=13 shape=box tooltip="line1000 testdata/file1000.src:1 (4.88MB)" color="#b2a086" fillcolor="#edeae7"]
-NN3_0 [label = "200kB" id="NN3_0" fontsize=8 shape=box3d tooltip="3.91MB"]
-N3 -> NN3_0 [label=" 3.91MB" weight=100 tooltip="3.91MB" labeltooltip="3.91MB"]
-N4 [label="line3002\nfile3000.src:3\n0 of 63.48MB (64.36%)" id="node4" fontsize=8 shape=box tooltip="line3002 testdata/file3000.src:3 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-N5 [label="line3001\nfile3000.src:2\n0 of 4.88MB (4.95%)" id="node5" fontsize=8 shape=box tooltip="line3001 testdata/file3000.src:2 (4.88MB)" color="#b2a086" fillcolor="#edeae7"]
-N6 [label="line2000\nfile2000.src:3\n0 of 63.48MB (64.36%)" id="node6" fontsize=8 shape=box tooltip="line2000 testdata/file2000.src:3 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-N6 -> N2 [label=" 63.48MB\n (inline)" weight=65 penwidth=4 color="#b21600" tooltip="line2000 testdata/file2000.src:3 -> line2001 testdata/file2000.src:2 (63.48MB)" labeltooltip="line2000 testdata/file2000.src:3 -> line2001 testdata/file2000.src:2 (63.48MB)"]
-N4 -> N6 [label=" 63.48MB" weight=65 penwidth=4 color="#b21600" tooltip="line3002 testdata/file3000.src:3 -> line2000 testdata/file2000.src:3 (63.48MB)" labeltooltip="line3002 testdata/file3000.src:3 -> line2000 testdata/file2000.src:3 (63.48MB)"]
-N1 -> N4 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 testdata/file3000.src:4 -> line3002 testdata/file3000.src:3 (62.50MB)" labeltooltip="line3000 testdata/file3000.src:4 -> line3002 testdata/file3000.src:3 (62.50MB)"]
-N1 -> N5 [label=" 4.88MB\n (inline)" weight=5 color="#b2a086" tooltip="line3000 testdata/file3000.src:4 -> line3001 testdata/file3000.src:2 (4.88MB)" labeltooltip="line3000 testdata/file3000.src:4 -> line3001 testdata/file3000.src:2 (4.88MB)"]
-N5 -> N3 [label=" 3.91MB" weight=4 color="#b2a58f" tooltip="line3001 testdata/file3000.src:2 -> line1000 testdata/file1000.src:1 (3.91MB)" labeltooltip="line3001 testdata/file3000.src:2 -> line1000 testdata/file1000.src:1 (3.91MB)"]
-N2 -> N3 [label=" 0.98MB" color="#b2b0a9" tooltip="line2001 testdata/file2000.src:2 -> line1000 testdata/file1000.src:1 (0.98MB)" labeltooltip="line2001 testdata/file2000.src:2 -> line1000 testdata/file1000.src:1 (0.98MB)" minlen=2]
-N5 -> N4 [label=" 0.98MB\n (inline)" color="#b2b0a9" tooltip="line3001 testdata/file3000.src:2 -> line3002 testdata/file3000.src:3 (0.98MB)" labeltooltip="line3001 testdata/file3000.src:2 -> line3002 testdata/file3000.src:3 (0.98MB)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags
deleted file mode 100644
index 630e452a9f..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags
+++ /dev/null
@@ -1,6 +0,0 @@
- bytes: Total 98.6MB
- 62.5MB (63.37%): 1.56MB
- 31.2MB (31.68%): 400kB
- 3.9MB ( 3.96%): 200kB
- 1000.0kB ( 0.99%): 100kB
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags.unit b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags.unit
deleted file mode 100644
index 5e565fc019..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.tags.unit
+++ /dev/null
@@ -1,6 +0,0 @@
- bytes: Total 103424000.0B
- 65536000.0B (63.37%): 1638400B
- 32768000.0B (31.68%): 409600B
- 4096000.0B ( 3.96%): 204800B
- 1024000.0B ( 0.99%): 102400B
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_objects.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_objects.text
deleted file mode 100644
index 929461a3c1..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_objects.text
+++ /dev/null
@@ -1,8 +0,0 @@
-Showing nodes accounting for 150, 100% of 150 total
- flat flat% sum% cum cum%
- 80 53.33% 53.33% 130 86.67% line3002 (inline)
- 40 26.67% 80.00% 50 33.33% line2001 (inline)
- 30 20.00% 100% 30 20.00% line1000
- 0 0% 100% 50 33.33% line2000
- 0 0% 100% 150 100% line3000
- 0 0% 100% 110 73.33% line3001 (inline)
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot
deleted file mode 100644
index f0621a0e3c..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot
+++ /dev/null
@@ -1,14 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: alloc_space\lActive filters:\l tagshow=[2]00\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
-N1 [label="line3002\n31.25MB (31.68%)\nof 94.73MB (96.04%)" id="node1" fontsize=20 shape=box tooltip="line3002 (94.73MB)" color="#b20200" fillcolor="#edd5d5"]
-N2 [label="line3000\n0 of 98.63MB (100%)" id="node2" fontsize=8 shape=box tooltip="line3000 (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
-N3 [label="line2001\n62.50MB (63.37%)\nof 63.48MB (64.36%)" id="node3" fontsize=24 shape=box tooltip="line2001 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-N4 [label="line2000\n0 of 63.48MB (64.36%)" id="node4" fontsize=8 shape=box tooltip="line2000 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-N5 [label="line3001\n0 of 36.13MB (36.63%)" id="node5" fontsize=8 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
-N4 -> N3 [label=" 63.48MB\n (inline)" weight=65 penwidth=4 color="#b21600" tooltip="line2000 -> line2001 (63.48MB)" labeltooltip="line2000 -> line2001 (63.48MB)"]
-N1 -> N4 [label=" 63.48MB" weight=65 penwidth=4 color="#b21600" tooltip="line3002 -> line2000 (63.48MB)" labeltooltip="line3002 -> line2000 (63.48MB)"]
-N2 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 -> line3002 (62.50MB)" labeltooltip="line3000 -> line3002 (62.50MB)"]
-N2 -> N5 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)"]
-N5 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 -> line3002 (32.23MB)" labeltooltip="line3001 -> line3002 (32.23MB)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.focus b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.focus
deleted file mode 100644
index e412ff4813..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.focus
+++ /dev/null
@@ -1,18 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: alloc_space\lActive filters:\l focus=[234]00\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
-N1 [label="line3002\n31.25MB (31.68%)\nof 94.73MB (96.04%)" id="node1" fontsize=20 shape=box tooltip="line3002 (94.73MB)" color="#b20200" fillcolor="#edd5d5"]
-NN1_0 [label = "400kB" id="NN1_0" fontsize=8 shape=box3d tooltip="31.25MB"]
-N1 -> NN1_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
-N2 [label="line3000\n0 of 98.63MB (100%)" id="node2" fontsize=8 shape=box tooltip="line3000 (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
-N3 [label="line2001\n62.50MB (63.37%)\nof 63.48MB (64.36%)" id="node3" fontsize=24 shape=box tooltip="line2001 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-NN3_0 [label = "1.56MB" id="NN3_0" fontsize=8 shape=box3d tooltip="62.50MB"]
-N3 -> NN3_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
-N4 [label="line2000\n0 of 63.48MB (64.36%)" id="node4" fontsize=8 shape=box tooltip="line2000 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-N5 [label="line3001\n0 of 36.13MB (36.63%)" id="node5" fontsize=8 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
-N4 -> N3 [label=" 63.48MB\n (inline)" weight=65 penwidth=4 color="#b21600" tooltip="line2000 -> line2001 (63.48MB)" labeltooltip="line2000 -> line2001 (63.48MB)"]
-N1 -> N4 [label=" 63.48MB" weight=65 penwidth=4 color="#b21600" tooltip="line3002 -> line2000 (63.48MB)" labeltooltip="line3002 -> line2000 (63.48MB)" minlen=2]
-N2 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 -> line3002 (62.50MB)" labeltooltip="line3000 -> line3002 (62.50MB)"]
-N2 -> N5 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)"]
-N5 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 -> line3002 (32.23MB)" labeltooltip="line3001 -> line3002 (32.23MB)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.hide b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.hide
deleted file mode 100644
index 6110b114b9..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot.hide
+++ /dev/null
@@ -1,11 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: alloc_space\lActive filters:\l hide=line.*1?23?\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
-N1 [label="line3000\n62.50MB (63.37%)\nof 98.63MB (100%)" id="node1" fontsize=24 shape=box tooltip="line3000 (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
-NN1_0 [label = "1.56MB" id="NN1_0" fontsize=8 shape=box3d tooltip="62.50MB"]
-N1 -> NN1_0 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
-N2 [label="line3001\n31.25MB (31.68%)\nof 36.13MB (36.63%)" id="node2" fontsize=20 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
-NN2_0 [label = "400kB" id="NN2_0" fontsize=8 shape=box3d tooltip="31.25MB"]
-N2 -> NN2_0 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
-N1 -> N2 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)" minlen=2]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_request.tags.focus b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_request.tags.focus
deleted file mode 100644
index b1a5f444d8..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_request.tags.focus
+++ /dev/null
@@ -1,8 +0,0 @@
- bytes: Total 93.8MB
- 62.5MB (66.67%): 1.56MB
- 31.2MB (33.33%): 400kB
-
- request: Total 93.8MB
- 62.5MB (66.67%): 1.56MB
- 31.2MB (33.33%): 400kB
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_sizetags.dot b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_sizetags.dot
deleted file mode 100644
index 6be6112fd4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_sizetags.dot
+++ /dev/null
@@ -1,30 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Build ID: buildid" [shape=box fontsize=16 label="Build ID: buildid\lcomment\lType: inuse_space\lShowing nodes accounting for 93.75MB, 95.05% of 98.63MB total\lDropped 1 node (cum <= 4.93MB)\l"] }
-N1 [label="line3002\n31.25MB (31.68%)\nof 94.73MB (96.04%)" id="node1" fontsize=20 shape=box tooltip="line3002 (94.73MB)" color="#b20200" fillcolor="#edd5d5"]
-NN1_0 [label = "16B..64B" id="NN1_0" fontsize=8 shape=box3d tooltip="93.75MB"]
-N1 -> NN1_0 [label=" 93.75MB" weight=100 tooltip="93.75MB" labeltooltip="93.75MB"]
-NN1_1 [label = "2B..8B" id="NN1_1" fontsize=8 shape=box3d tooltip="93.75MB"]
-N1 -> NN1_1 [label=" 93.75MB" weight=100 tooltip="93.75MB" labeltooltip="93.75MB"]
-NN1_2 [label = "256B..1.56MB" id="NN1_2" fontsize=8 shape=box3d tooltip="62.50MB"]
-N1 -> NN1_2 [label=" 62.50MB" weight=100 tooltip="62.50MB" labeltooltip="62.50MB"]
-NN1_3 [label = "128B" id="NN1_3" fontsize=8 shape=box3d tooltip="31.25MB"]
-N1 -> NN1_3 [label=" 31.25MB" weight=100 tooltip="31.25MB" labeltooltip="31.25MB"]
-N2 [label="line3000\n0 of 98.63MB (100%)" id="node2" fontsize=8 shape=box tooltip="line3000 (98.63MB)" color="#b20000" fillcolor="#edd5d5"]
-N3 [label="line2001\n62.50MB (63.37%)\nof 63.48MB (64.36%)" id="node3" fontsize=24 shape=box tooltip="line2001 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-NN3_0 [label = "16B..64B" id="NN3_0" fontsize=8 shape=box3d tooltip="190.43MB"]
-N3 -> NN3_0 [label=" 190.43MB" weight=100 tooltip="190.43MB" labeltooltip="190.43MB" style="dotted"]
-NN3_1 [label = "2B..8B" id="NN3_1" fontsize=8 shape=box3d tooltip="190.43MB"]
-N3 -> NN3_1 [label=" 190.43MB" weight=100 tooltip="190.43MB" labeltooltip="190.43MB" style="dotted"]
-NN3_2 [label = "256B..1.56MB" id="NN3_2" fontsize=8 shape=box3d tooltip="125.98MB"]
-N3 -> NN3_2 [label=" 125.98MB" weight=100 tooltip="125.98MB" labeltooltip="125.98MB" style="dotted"]
-NN3_3 [label = "128B" id="NN3_3" fontsize=8 shape=box3d tooltip="63.48MB"]
-N3 -> NN3_3 [label=" 63.48MB" weight=100 tooltip="63.48MB" labeltooltip="63.48MB" style="dotted"]
-N4 [label="line2000\n0 of 63.48MB (64.36%)" id="node4" fontsize=8 shape=box tooltip="line2000 (63.48MB)" color="#b21600" fillcolor="#edd8d5"]
-N5 [label="line3001\n0 of 36.13MB (36.63%)" id="node5" fontsize=8 shape=box tooltip="line3001 (36.13MB)" color="#b22e00" fillcolor="#eddbd5"]
-N4 -> N3 [label=" 63.48MB\n (inline)" weight=65 penwidth=4 color="#b21600" tooltip="line2000 -> line2001 (63.48MB)" labeltooltip="line2000 -> line2001 (63.48MB)"]
-N1 -> N4 [label=" 63.48MB" weight=65 penwidth=4 color="#b21600" tooltip="line3002 -> line2000 (63.48MB)" labeltooltip="line3002 -> line2000 (63.48MB)" minlen=2]
-N2 -> N1 [label=" 62.50MB\n (inline)" weight=64 penwidth=4 color="#b21600" tooltip="line3000 -> line3002 (62.50MB)" labeltooltip="line3000 -> line3002 (62.50MB)"]
-N2 -> N5 [label=" 36.13MB\n (inline)" weight=37 penwidth=2 color="#b22e00" tooltip="line3000 -> line3001 (36.13MB)" labeltooltip="line3000 -> line3001 (36.13MB)"]
-N5 -> N1 [label=" 32.23MB\n (inline)" weight=33 penwidth=2 color="#b23200" tooltip="line3001 -> line3002 (32.23MB)" labeltooltip="line3001 -> line3002 (32.23MB)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_tags.traces b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_tags.traces
deleted file mode 100644
index 547aea74c3..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_tags.traces
+++ /dev/null
@@ -1,32 +0,0 @@
-Build ID: buildid
-comment
-Type: inuse_space
------------+-------------------------------------------------------
- key1: tag
- bytes: 100kB
- request: 100kB
- 1000kB line1000
- line2001
- line2000
- line3002
- line3001
- line3000
------------+-------------------------------------------------------
- bytes: 200kB
- 3.91MB line1000
- line3001
- line3000
------------+-------------------------------------------------------
- key1: tag
- bytes: 1.56MB
- request: 1.56MB
- 62.50MB line2001
- line2000
- line3002
- line3000
------------+-------------------------------------------------------
- bytes: 400kB
- 31.25MB line3002
- line3001
- line3000
------------+-------------------------------------------------------
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.dot b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.dot
deleted file mode 100644
index 474a5108ba..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.dot
+++ /dev/null
@@ -1,9 +0,0 @@
-digraph "testbinary" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "File: testbinary" [shape=box fontsize=16 label="File: testbinary\lType: cpu\lDuration: 10s, Total samples = 1.11s (11.10%)\lShowing nodes accounting for 1.11s, 100% of 1.11s total\l" tooltip="testbinary"] }
-N1 [label="package1\nobject\nfunction1\n1.10s (99.10%)" id="node1" fontsize=24 shape=box tooltip="path/to/package1.object.function1 (1.10s)" color="#b20000" fillcolor="#edd5d5"]
-N2 [label="FooBar\nrun\n0.01s (0.9%)\nof 1.01s (90.99%)" id="node2" fontsize=10 shape=box tooltip="java.bar.foo.FooBar.run(java.lang.Runnable) (1.01s)" color="#b20400" fillcolor="#edd6d5"]
-N3 [label="Bar\nFoo\n0 of 1.10s (99.10%)" id="node3" fontsize=8 shape=box tooltip="(anonymous namespace)::Bar::Foo (1.10s)" color="#b20000" fillcolor="#edd5d5"]
-N3 -> N1 [label=" 1.10s" weight=100 penwidth=5 color="#b20000" tooltip="(anonymous namespace)::Bar::Foo -> path/to/package1.object.function1 (1.10s)" labeltooltip="(anonymous namespace)::Bar::Foo -> path/to/package1.object.function1 (1.10s)"]
-N2 -> N3 [label=" 1s" weight=91 penwidth=5 color="#b20500" tooltip="java.bar.foo.FooBar.run(java.lang.Runnable) -> (anonymous namespace)::Bar::Foo (1s)" labeltooltip="java.bar.foo.FooBar.run(java.lang.Runnable) -> (anonymous namespace)::Bar::Foo (1s)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.text
deleted file mode 100644
index 39cb24ed6a..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.longNameFuncs.text
+++ /dev/null
@@ -1,5 +0,0 @@
-Showing nodes accounting for 1.11s, 100% of 1.11s total
- flat flat% sum% cum cum%
- 1.10s 99.10% 99.10% 1.10s 99.10% path/to/package1.object.function1
- 0.01s 0.9% 100% 1.01s 90.99% java.bar.foo.FooBar.run(java.lang.Runnable)
- 0 0% 100% 1.10s 99.10% (anonymous namespace)::Bar::Foo
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.unknown.flat.functions.call_tree.text b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.unknown.flat.functions.call_tree.text
deleted file mode 100644
index 78a2298f95..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.unknown.flat.functions.call_tree.text
+++ /dev/null
@@ -1,8 +0,0 @@
-Showing nodes accounting for 1.12s, 100% of 1.12s total
-Showing top 5 nodes out of 6
- flat flat% sum% cum cum%
- 1.10s 98.21% 98.21% 1.10s 98.21% line1000
- 0.01s 0.89% 99.11% 1.01s 90.18% line2001 (inline)
- 0.01s 0.89% 100% 1.02s 91.07% line3002 (inline)
- 0 0% 100% 1.01s 90.18% line2000
- 0 0% 100% 1.12s 100% line3000
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go
deleted file mode 100644
index 58681bea8f..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2017 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package driver
-
-import (
- "fmt"
- "io/ioutil"
- "net"
- "net/http"
- "net/http/httptest"
- "net/url"
- "os/exec"
- "regexp"
- "runtime"
- "sync"
- "testing"
-
- "github.com/google/pprof/internal/plugin"
- "github.com/google/pprof/internal/proftest"
- "github.com/google/pprof/profile"
-)
-
-func TestWebInterface(t *testing.T) {
- if runtime.GOOS == "nacl" || runtime.GOOS == "js" {
- t.Skip("test assumes tcp available")
- }
-
- prof := makeFakeProfile()
-
- // Custom http server creator
- var server *httptest.Server
- serverCreated := make(chan bool)
- creator := func(a *plugin.HTTPServerArgs) error {
- server = httptest.NewServer(http.HandlerFunc(
- func(w http.ResponseWriter, r *http.Request) {
- if h := a.Handlers[r.URL.Path]; h != nil {
- h.ServeHTTP(w, r)
- }
- }))
- serverCreated <- true
- return nil
- }
-
- // Start server and wait for it to be initialized
- go serveWebInterface("unused:1234", prof, &plugin.Options{
- Obj: fakeObjTool{},
- UI: &proftest.TestUI{},
- HTTPServer: creator,
- })
- <-serverCreated
- defer server.Close()
-
- haveDot := false
- if _, err := exec.LookPath("dot"); err == nil {
- haveDot = true
- }
-
- type testCase struct {
- path string
- want []string
- needDot bool
- }
- testcases := []testCase{
- {"/", []string{"F1", "F2", "F3", "testbin", "cpu"}, true},
- {"/top", []string{`"Name":"F2","InlineLabel":"","Flat":200,"Cum":300,"FlatFormat":"200ms","CumFormat":"300ms"}`}, false},
- {"/source?f=" + url.QueryEscape("F[12]"),
- []string{"F1", "F2", "300ms +line1"}, false},
- {"/peek?f=" + url.QueryEscape("F[12]"),
- []string{"300ms.*F1", "200ms.*300ms.*F2"}, false},
- {"/disasm?f=" + url.QueryEscape("F[12]"),
- []string{"f1:asm", "f2:asm"}, false},
- {"/flamegraph", []string{"File: testbin", "\"n\":\"root\"", "\"n\":\"F1\"", "var flamegraph = function", "function hierarchy"}, false},
- }
- for _, c := range testcases {
- if c.needDot && !haveDot {
- t.Log("skipping", c.path, "since dot (graphviz) does not seem to be installed")
- continue
- }
-
- res, err := http.Get(server.URL + c.path)
- if err != nil {
- t.Error("could not fetch", c.path, err)
- continue
- }
- data, err := ioutil.ReadAll(res.Body)
- if err != nil {
- t.Error("could not read response", c.path, err)
- continue
- }
- result := string(data)
- for _, w := range c.want {
- if match, _ := regexp.MatchString(w, result); !match {
- t.Errorf("response for %s does not match "+
- "expected pattern '%s'; "+
- "actual result:\n%s", c.path, w, result)
- }
- }
- }
-
- // Also fetch all the test case URLs in parallel to test thread
- // safety when run under the race detector.
- var wg sync.WaitGroup
- for _, c := range testcases {
- if c.needDot && !haveDot {
- continue
- }
- path := server.URL + c.path
- for count := 0; count < 2; count++ {
- wg.Add(1)
- go func() {
- defer wg.Done()
- res, err := http.Get(path)
- if err != nil {
- t.Error("could not fetch", c.path, err)
- return
- }
- if _, err = ioutil.ReadAll(res.Body); err != nil {
- t.Error("could not read response", c.path, err)
- }
- }()
- }
- }
- wg.Wait()
-}
-
-// Implement fake object file support.
-
-const addrBase = 0x1000
-const fakeSource = "testdata/file1000.src"
-
-type fakeObj struct{}
-
-func (f fakeObj) Close() error { return nil }
-func (f fakeObj) Name() string { return "testbin" }
-func (f fakeObj) Base() uint64 { return 0 }
-func (f fakeObj) BuildID() string { return "" }
-func (f fakeObj) SourceLine(addr uint64) ([]plugin.Frame, error) {
- return nil, fmt.Errorf("SourceLine unimplemented")
-}
-func (f fakeObj) Symbols(r *regexp.Regexp, addr uint64) ([]*plugin.Sym, error) {
- return []*plugin.Sym{
- {
- Name: []string{"F1"}, File: fakeSource,
- Start: addrBase, End: addrBase + 10,
- },
- {
- Name: []string{"F2"}, File: fakeSource,
- Start: addrBase + 10, End: addrBase + 20,
- },
- {
- Name: []string{"F3"}, File: fakeSource,
- Start: addrBase + 20, End: addrBase + 30,
- },
- }, nil
-}
-
-type fakeObjTool struct{}
-
-func (obj fakeObjTool) Open(file string, start, limit, offset uint64) (plugin.ObjFile, error) {
- return fakeObj{}, nil
-}
-
-func (obj fakeObjTool) Disasm(file string, start, end uint64) ([]plugin.Inst, error) {
- return []plugin.Inst{
- {Addr: addrBase + 0, Text: "f1:asm", Function: "F1"},
- {Addr: addrBase + 10, Text: "f2:asm", Function: "F2"},
- {Addr: addrBase + 20, Text: "d3:asm", Function: "F3"},
- }, nil
-}
-
-func makeFakeProfile() *profile.Profile {
- // Three functions: F1, F2, F3 with three lines, 11, 22, 33.
- funcs := []*profile.Function{
- {ID: 1, Name: "F1", Filename: fakeSource, StartLine: 3},
- {ID: 2, Name: "F2", Filename: fakeSource, StartLine: 5},
- {ID: 3, Name: "F3", Filename: fakeSource, StartLine: 7},
- }
- lines := []profile.Line{
- {Function: funcs[0], Line: 11},
- {Function: funcs[1], Line: 22},
- {Function: funcs[2], Line: 33},
- }
- mapping := []*profile.Mapping{
- {
- ID: 1,
- Start: addrBase,
- Limit: addrBase + 10,
- Offset: 0,
- File: "testbin",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- },
- }
-
- // Three interesting addresses: base+{10,20,30}
- locs := []*profile.Location{
- {ID: 1, Address: addrBase + 10, Line: lines[0:1], Mapping: mapping[0]},
- {ID: 2, Address: addrBase + 20, Line: lines[1:2], Mapping: mapping[0]},
- {ID: 3, Address: addrBase + 30, Line: lines[2:3], Mapping: mapping[0]},
- }
-
- // Two stack traces.
- return &profile.Profile{
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*profile.ValueType{
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{locs[2], locs[1], locs[0]},
- Value: []int64{100},
- },
- {
- Location: []*profile.Location{locs[1], locs[0]},
- Value: []int64{200},
- },
- },
- Location: locs,
- Function: funcs,
- Mapping: mapping,
- }
-}
-
-func TestGetHostAndPort(t *testing.T) {
- if runtime.GOOS == "nacl" || runtime.GOOS == "js" {
- t.Skip("test assumes tcp available")
- }
-
- type testCase struct {
- hostport string
- wantHost string
- wantPort int
- wantRandomPort bool
- }
-
- testCases := []testCase{
- {":", "localhost", 0, true},
- {":4681", "localhost", 4681, false},
- {"localhost:4681", "localhost", 4681, false},
- }
- for _, tc := range testCases {
- host, port, err := getHostAndPort(tc.hostport)
- if err != nil {
- t.Errorf("could not get host and port for %q: %v", tc.hostport, err)
- }
- if got, want := host, tc.wantHost; got != want {
- t.Errorf("for %s, got host %s, want %s", tc.hostport, got, want)
- continue
- }
- if !tc.wantRandomPort {
- if got, want := port, tc.wantPort; got != want {
- t.Errorf("for %s, got port %d, want %d", tc.hostport, got, want)
- continue
- }
- }
- }
-}
-
-func TestIsLocalHost(t *testing.T) {
- for _, s := range []string{"localhost:10000", "[::1]:10000", "127.0.0.1:10000"} {
- host, _, err := net.SplitHostPort(s)
- if err != nil {
- t.Error("unexpected error when splitting", s)
- continue
- }
- if !isLocalhost(host) {
- t.Errorf("host %s from %s not considered local", host, s)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go b/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go
deleted file mode 100644
index ff95c36add..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package elfexec
-
-import (
- "debug/elf"
- "testing"
-)
-
-func TestGetBase(t *testing.T) {
-
- fhExec := &elf.FileHeader{
- Type: elf.ET_EXEC,
- }
- fhRel := &elf.FileHeader{
- Type: elf.ET_REL,
- }
- fhDyn := &elf.FileHeader{
- Type: elf.ET_DYN,
- }
- lsOffset := &elf.ProgHeader{
- Vaddr: 0x400000,
- Off: 0x200000,
- }
- kernelHeader := &elf.ProgHeader{
- Vaddr: 0xffffffff81000000,
- }
- kernelAslrHeader := &elf.ProgHeader{
- Vaddr: 0xffffffff80200000,
- Off: 0x1000,
- }
- ppc64KernelHeader := &elf.ProgHeader{
- Vaddr: 0xc000000000000000,
- }
-
- testcases := []struct {
- label string
- fh *elf.FileHeader
- loadSegment *elf.ProgHeader
- stextOffset *uint64
- start, limit, offset uint64
- want uint64
- wanterr bool
- }{
- {"exec", fhExec, nil, nil, 0x400000, 0, 0, 0, false},
- {"exec offset", fhExec, lsOffset, nil, 0x400000, 0x800000, 0, 0x200000, false},
- {"exec offset 2", fhExec, lsOffset, nil, 0x200000, 0x600000, 0, 0, false},
- {"exec nomap", fhExec, nil, nil, 0, 0, 0, 0, false},
- {"exec kernel", fhExec, kernelHeader, uint64p(0xffffffff81000198), 0xffffffff82000198, 0xffffffff83000198, 0, 0x1000000, false},
- {"exec kernel", fhExec, kernelHeader, uint64p(0xffffffff810002b8), 0xffffffff81000000, 0xffffffffa0000000, 0x0, 0x0, false},
- {"exec kernel ASLR", fhExec, kernelHeader, uint64p(0xffffffff810002b8), 0xffffffff81000000, 0xffffffffa0000000, 0xffffffff81000000, 0x0, false},
- // TODO(aalexand): Figure out where this test case exactly comes from and
- // whether it's still relevant.
- {"exec kernel ASLR 2", fhExec, kernelAslrHeader, nil, 0xffffffff83e00000, 0xfffffffffc3fffff, 0x3c00000, 0x3c00000, false},
- {"exec PPC64 kernel", fhExec, ppc64KernelHeader, uint64p(0xc000000000000000), 0xc000000000000000, 0xd00000001a730000, 0x0, 0x0, false},
- {"exec chromeos kernel", fhExec, kernelHeader, uint64p(0xffffffff81000198), 0, 0x10197, 0, 0x7efffe68, false},
- {"exec chromeos kernel 2", fhExec, kernelHeader, uint64p(0xffffffff81000198), 0, 0x10198, 0, 0x7efffe68, false},
- {"exec chromeos kernel 3", fhExec, kernelHeader, uint64p(0xffffffff81000198), 0x198, 0x100000, 0, 0x7f000000, false},
- {"exec chromeos kernel 4", fhExec, kernelHeader, uint64p(0xffffffff81200198), 0x198, 0x100000, 0, 0x7ee00000, false},
- {"exec chromeos kernel unremapped", fhExec, kernelHeader, uint64p(0xffffffff810001c8), 0xffffffff834001c8, 0xffffffffc0000000, 0xffffffff834001c8, 0x2400000, false},
- {"dyn", fhDyn, nil, nil, 0x200000, 0x300000, 0, 0x200000, false},
- {"dyn map", fhDyn, lsOffset, nil, 0x0, 0x300000, 0, 0xFFFFFFFFFFE00000, false},
- {"dyn nomap", fhDyn, nil, nil, 0x0, 0x0, 0, 0, false},
- {"dyn map+offset", fhDyn, lsOffset, nil, 0x900000, 0xa00000, 0x200000, 0x500000, false},
- {"rel", fhRel, nil, nil, 0x2000000, 0x3000000, 0, 0x2000000, false},
- {"rel nomap", fhRel, nil, nil, 0x0, ^uint64(0), 0, 0, false},
- {"rel offset", fhRel, nil, nil, 0x100000, 0x200000, 0x1, 0, true},
- }
-
- for _, tc := range testcases {
- base, err := GetBase(tc.fh, tc.loadSegment, tc.stextOffset, tc.start, tc.limit, tc.offset)
- if err != nil {
- if !tc.wanterr {
- t.Errorf("%s: want no error, got %v", tc.label, err)
- }
- continue
- }
- if tc.wanterr {
- t.Errorf("%s: want error, got nil", tc.label)
- continue
- }
- if base != tc.want {
- t.Errorf("%s: want 0x%x, got 0x%x", tc.label, tc.want, base)
- }
- }
-}
-
-func uint64p(n uint64) *uint64 {
- return &n
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go b/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go
deleted file mode 100644
index b8368b8fa4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go
+++ /dev/null
@@ -1,335 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package graph
-
-import (
- "bytes"
- "flag"
- "fmt"
- "io/ioutil"
- "path/filepath"
- "reflect"
- "strconv"
- "strings"
- "testing"
-
- "github.com/google/pprof/internal/proftest"
-)
-
-var updateFlag = flag.Bool("update", false, "Update the golden files")
-
-func TestComposeWithStandardGraph(t *testing.T) {
- g := baseGraph()
- a, c := baseAttrsAndConfig()
-
- var buf bytes.Buffer
- ComposeDot(&buf, g, a, c)
-
- compareGraphs(t, buf.Bytes(), "compose1.dot")
-}
-
-func TestComposeWithNodeAttributesAndZeroFlat(t *testing.T) {
- g := baseGraph()
- a, c := baseAttrsAndConfig()
-
- // Set NodeAttributes for Node 1.
- a.Nodes[g.Nodes[0]] = &DotNodeAttributes{
- Shape: "folder",
- Bold: true,
- Peripheries: 2,
- URL: "www.google.com",
- Formatter: func(ni *NodeInfo) string {
- return strings.ToUpper(ni.Name)
- },
- }
-
- // Set Flat value to zero on Node 2.
- g.Nodes[1].Flat = 0
-
- var buf bytes.Buffer
- ComposeDot(&buf, g, a, c)
-
- compareGraphs(t, buf.Bytes(), "compose2.dot")
-}
-
-func TestComposeWithTagsAndResidualEdge(t *testing.T) {
- g := baseGraph()
- a, c := baseAttrsAndConfig()
-
- // Add tags to Node 1.
- g.Nodes[0].LabelTags["a"] = &Tag{
- Name: "tag1",
- Cum: 10,
- Flat: 10,
- }
- g.Nodes[0].NumericTags[""] = TagMap{
- "b": &Tag{
- Name: "tag2",
- Cum: 20,
- Flat: 20,
- Unit: "ms",
- },
- }
-
- // Set edge to be Residual.
- g.Nodes[0].Out[g.Nodes[1]].Residual = true
-
- var buf bytes.Buffer
- ComposeDot(&buf, g, a, c)
-
- compareGraphs(t, buf.Bytes(), "compose3.dot")
-}
-
-func TestComposeWithNestedTags(t *testing.T) {
- g := baseGraph()
- a, c := baseAttrsAndConfig()
-
- // Add tags to Node 1.
- g.Nodes[0].LabelTags["tag1"] = &Tag{
- Name: "tag1",
- Cum: 10,
- Flat: 10,
- }
- g.Nodes[0].NumericTags["tag1"] = TagMap{
- "tag2": &Tag{
- Name: "tag2",
- Cum: 20,
- Flat: 20,
- Unit: "ms",
- },
- }
-
- var buf bytes.Buffer
- ComposeDot(&buf, g, a, c)
-
- compareGraphs(t, buf.Bytes(), "compose5.dot")
-}
-
-func TestComposeWithEmptyGraph(t *testing.T) {
- g := &Graph{}
- a, c := baseAttrsAndConfig()
-
- var buf bytes.Buffer
- ComposeDot(&buf, g, a, c)
-
- compareGraphs(t, buf.Bytes(), "compose4.dot")
-}
-
-func TestComposeWithStandardGraphAndURL(t *testing.T) {
- g := baseGraph()
- a, c := baseAttrsAndConfig()
- c.LegendURL = "http://example.com"
-
- var buf bytes.Buffer
- ComposeDot(&buf, g, a, c)
-
- compareGraphs(t, buf.Bytes(), "compose6.dot")
-}
-
-func baseGraph() *Graph {
- src := &Node{
- Info: NodeInfo{Name: "src"},
- Flat: 10,
- Cum: 25,
- In: make(EdgeMap),
- Out: make(EdgeMap),
- LabelTags: make(TagMap),
- NumericTags: make(map[string]TagMap),
- }
- dest := &Node{
- Info: NodeInfo{Name: "dest"},
- Flat: 15,
- Cum: 25,
- In: make(EdgeMap),
- Out: make(EdgeMap),
- LabelTags: make(TagMap),
- NumericTags: make(map[string]TagMap),
- }
- edge := &Edge{
- Src: src,
- Dest: dest,
- Weight: 10,
- }
- src.Out[dest] = edge
- src.In[src] = edge
- return &Graph{
- Nodes: Nodes{
- src,
- dest,
- },
- }
-}
-
-func baseAttrsAndConfig() (*DotAttributes, *DotConfig) {
- a := &DotAttributes{
- Nodes: make(map[*Node]*DotNodeAttributes),
- }
- c := &DotConfig{
- Title: "testtitle",
- Labels: []string{"label1", "label2"},
- Total: 100,
- FormatValue: func(v int64) string {
- return strconv.FormatInt(v, 10)
- },
- }
- return a, c
-}
-
-func compareGraphs(t *testing.T, got []byte, wantFile string) {
- wantFile = filepath.Join("testdata", wantFile)
- want, err := ioutil.ReadFile(wantFile)
- if err != nil {
- t.Fatalf("error reading test file %s: %v", wantFile, err)
- }
-
- if string(got) != string(want) {
- d, err := proftest.Diff(got, want)
- if err != nil {
- t.Fatalf("error finding diff: %v", err)
- }
- t.Errorf("Compose incorrectly wrote %s", string(d))
- if *updateFlag {
- err := ioutil.WriteFile(wantFile, got, 0644)
- if err != nil {
- t.Errorf("failed to update the golden file %q: %v", wantFile, err)
- }
- }
- }
-}
-
-func TestNodeletCountCapping(t *testing.T) {
- labelTags := make(TagMap)
- for i := 0; i < 10; i++ {
- name := fmt.Sprintf("tag-%d", i)
- labelTags[name] = &Tag{
- Name: name,
- Flat: 10,
- Cum: 10,
- }
- }
- numTags := make(TagMap)
- for i := 0; i < 10; i++ {
- name := fmt.Sprintf("num-tag-%d", i)
- numTags[name] = &Tag{
- Name: name,
- Unit: "mb",
- Value: 16,
- Flat: 10,
- Cum: 10,
- }
- }
- node1 := &Node{
- Info: NodeInfo{Name: "node1-with-tags"},
- Flat: 10,
- Cum: 10,
- NumericTags: map[string]TagMap{"": numTags},
- LabelTags: labelTags,
- }
- node2 := &Node{
- Info: NodeInfo{Name: "node2"},
- Flat: 15,
- Cum: 15,
- }
- node3 := &Node{
- Info: NodeInfo{Name: "node3"},
- Flat: 15,
- Cum: 15,
- }
- g := &Graph{
- Nodes: Nodes{
- node1,
- node2,
- node3,
- },
- }
- for n := 1; n <= 3; n++ {
- input := maxNodelets + n
- if got, want := len(g.SelectTopNodes(input, true)), n; got != want {
- t.Errorf("SelectTopNodes(%d): got %d nodes, want %d", input, got, want)
- }
- }
-}
-
-func TestMultilinePrintableName(t *testing.T) {
- ni := &NodeInfo{
- Name: "test1.test2::test3",
- File: "src/file.cc",
- Address: 123,
- Lineno: 999,
- }
-
- want := fmt.Sprintf(`%016x\ntest1\ntest2\ntest3\nfile.cc:999\n`, 123)
- if got := multilinePrintableName(ni); got != want {
- t.Errorf("multilinePrintableName(%#v) == %q, want %q", ni, got, want)
- }
-}
-
-func TestTagCollapse(t *testing.T) {
-
- makeTag := func(name, unit string, value, flat, cum int64) *Tag {
- return &Tag{name, unit, value, flat, 0, cum, 0}
- }
-
- tagSource := []*Tag{
- makeTag("12mb", "mb", 12, 100, 100),
- makeTag("1kb", "kb", 1, 1, 1),
- makeTag("1mb", "mb", 1, 1000, 1000),
- makeTag("2048mb", "mb", 2048, 1000, 1000),
- makeTag("1b", "b", 1, 100, 100),
- makeTag("2b", "b", 2, 100, 100),
- makeTag("7b", "b", 7, 100, 100),
- }
-
- tagWant := [][]*Tag{
- {
- makeTag("1B..2GB", "", 0, 2401, 2401),
- },
- {
- makeTag("2GB", "", 0, 1000, 1000),
- makeTag("1B..12MB", "", 0, 1401, 1401),
- },
- {
- makeTag("2GB", "", 0, 1000, 1000),
- makeTag("12MB", "", 0, 100, 100),
- makeTag("1B..1MB", "", 0, 1301, 1301),
- },
- {
- makeTag("2GB", "", 0, 1000, 1000),
- makeTag("1MB", "", 0, 1000, 1000),
- makeTag("2B..1kB", "", 0, 201, 201),
- makeTag("1B", "", 0, 100, 100),
- makeTag("12MB", "", 0, 100, 100),
- },
- }
-
- for _, tc := range tagWant {
- var got, want []*Tag
- b := builder{nil, &DotAttributes{}, &DotConfig{}}
- got = b.collapsedTags(tagSource, len(tc), true)
- want = SortTags(tc, true)
-
- if !reflect.DeepEqual(got, want) {
- t.Errorf("collapse to %d, got:\n%v\nwant:\n%v", len(tc), tagString(got), tagString(want))
- }
- }
-}
-
-func tagString(t []*Tag) string {
- var ret []string
- for _, s := range t {
- ret = append(ret, fmt.Sprintln(s))
- }
- return strings.Join(ret, ":")
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go b/src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go
deleted file mode 100644
index ef1171a14d..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go
+++ /dev/null
@@ -1,471 +0,0 @@
-package graph
-
-import (
- "fmt"
- "testing"
-
- "github.com/google/pprof/profile"
-)
-
-func edgeDebugString(edge *Edge) string {
- debug := ""
- debug += fmt.Sprintf("\t\tSrc: %p\n", edge.Src)
- debug += fmt.Sprintf("\t\tDest: %p\n", edge.Dest)
- debug += fmt.Sprintf("\t\tWeight: %d\n", edge.Weight)
- debug += fmt.Sprintf("\t\tResidual: %t\n", edge.Residual)
- debug += fmt.Sprintf("\t\tInline: %t\n", edge.Inline)
- return debug
-}
-
-func edgeMapsDebugString(in, out EdgeMap) string {
- debug := ""
- debug += "In Edges:\n"
- for parent, edge := range in {
- debug += fmt.Sprintf("\tParent: %p\n", parent)
- debug += edgeDebugString(edge)
- }
- debug += "Out Edges:\n"
- for child, edge := range out {
- debug += fmt.Sprintf("\tChild: %p\n", child)
- debug += edgeDebugString(edge)
- }
- return debug
-}
-
-func graphDebugString(graph *Graph) string {
- debug := ""
- for i, node := range graph.Nodes {
- debug += fmt.Sprintf("Node %d: %p\n", i, node)
- }
-
- for i, node := range graph.Nodes {
- debug += "\n"
- debug += fmt.Sprintf("=== Node %d: %p ===\n", i, node)
- debug += edgeMapsDebugString(node.In, node.Out)
- }
- return debug
-}
-
-func expectedNodesDebugString(expected []expectedNode) string {
- debug := ""
- for i, node := range expected {
- debug += fmt.Sprintf("Node %d: %p\n", i, node.node)
- }
-
- for i, node := range expected {
- debug += "\n"
- debug += fmt.Sprintf("=== Node %d: %p ===\n", i, node.node)
- debug += edgeMapsDebugString(node.in, node.out)
- }
- return debug
-}
-
-// edgeMapsEqual checks if all the edges in this equal all the edges in that.
-func edgeMapsEqual(this, that EdgeMap) bool {
- if len(this) != len(that) {
- return false
- }
- for node, thisEdge := range this {
- if *thisEdge != *that[node] {
- return false
- }
- }
- return true
-}
-
-// nodesEqual checks if node is equal to expected.
-func nodesEqual(node *Node, expected expectedNode) bool {
- return node == expected.node && edgeMapsEqual(node.In, expected.in) &&
- edgeMapsEqual(node.Out, expected.out)
-}
-
-// graphsEqual checks if graph is equivalent to the graph templated by expected.
-func graphsEqual(graph *Graph, expected []expectedNode) bool {
- if len(graph.Nodes) != len(expected) {
- return false
- }
- expectedSet := make(map[*Node]expectedNode)
- for i := range expected {
- expectedSet[expected[i].node] = expected[i]
- }
-
- for _, node := range graph.Nodes {
- expectedNode, found := expectedSet[node]
- if !found || !nodesEqual(node, expectedNode) {
- return false
- }
- }
- return true
-}
-
-type expectedNode struct {
- node *Node
- in, out EdgeMap
-}
-
-type trimTreeTestcase struct {
- initial *Graph
- expected []expectedNode
- keep NodePtrSet
-}
-
-// makeExpectedEdgeResidual makes the edge from parent to child residual.
-func makeExpectedEdgeResidual(parent, child expectedNode) {
- parent.out[child.node].Residual = true
- child.in[parent.node].Residual = true
-}
-
-func makeEdgeInline(edgeMap EdgeMap, node *Node) {
- edgeMap[node].Inline = true
-}
-
-func setEdgeWeight(edgeMap EdgeMap, node *Node, weight int64) {
- edgeMap[node].Weight = weight
-}
-
-// createEdges creates directed edges from the parent to each of the children.
-func createEdges(parent *Node, children ...*Node) {
- for _, child := range children {
- edge := &Edge{
- Src: parent,
- Dest: child,
- }
- parent.Out[child] = edge
- child.In[parent] = edge
- }
-}
-
-// createEmptyNode creates a node without any edges.
-func createEmptyNode() *Node {
- return &Node{
- In: make(EdgeMap),
- Out: make(EdgeMap),
- }
-}
-
-// createExpectedNodes creates a slice of expectedNodes from nodes.
-func createExpectedNodes(nodes ...*Node) ([]expectedNode, NodePtrSet) {
- expected := make([]expectedNode, len(nodes))
- keep := make(NodePtrSet, len(nodes))
-
- for i, node := range nodes {
- expected[i] = expectedNode{
- node: node,
- in: make(EdgeMap),
- out: make(EdgeMap),
- }
- keep[node] = true
- }
-
- return expected, keep
-}
-
-// createExpectedEdges creates directed edges from the parent to each of the
-// children.
-func createExpectedEdges(parent expectedNode, children ...expectedNode) {
- for _, child := range children {
- edge := &Edge{
- Src: parent.node,
- Dest: child.node,
- }
- parent.out[child.node] = edge
- child.in[parent.node] = edge
- }
-}
-
-// createTestCase1 creates a test case that initially looks like:
-// 0
-// |(5)
-// 1
-// (3)/ \(4)
-// 2 3.
-//
-// After keeping 0, 2, and 3, it expects the graph:
-// 0
-// (3)/ \(4)
-// 2 3.
-func createTestCase1() trimTreeTestcase {
- // Create initial graph
- graph := &Graph{make(Nodes, 4)}
- nodes := graph.Nodes
- for i := range nodes {
- nodes[i] = createEmptyNode()
- }
- createEdges(nodes[0], nodes[1])
- createEdges(nodes[1], nodes[2], nodes[3])
- makeEdgeInline(nodes[0].Out, nodes[1])
- makeEdgeInline(nodes[1].Out, nodes[2])
- setEdgeWeight(nodes[0].Out, nodes[1], 5)
- setEdgeWeight(nodes[1].Out, nodes[2], 3)
- setEdgeWeight(nodes[1].Out, nodes[3], 4)
-
- // Create expected graph
- expected, keep := createExpectedNodes(nodes[0], nodes[2], nodes[3])
- createExpectedEdges(expected[0], expected[1], expected[2])
- makeEdgeInline(expected[0].out, expected[1].node)
- makeExpectedEdgeResidual(expected[0], expected[1])
- makeExpectedEdgeResidual(expected[0], expected[2])
- setEdgeWeight(expected[0].out, expected[1].node, 3)
- setEdgeWeight(expected[0].out, expected[2].node, 4)
- return trimTreeTestcase{
- initial: graph,
- expected: expected,
- keep: keep,
- }
-}
-
-// createTestCase2 creates a test case that initially looks like:
-// 3
-// | (12)
-// 1
-// | (8)
-// 2
-// | (15)
-// 0
-// | (10)
-// 4.
-//
-// After keeping 3 and 4, it expects the graph:
-// 3
-// | (10)
-// 4.
-func createTestCase2() trimTreeTestcase {
- // Create initial graph
- graph := &Graph{make(Nodes, 5)}
- nodes := graph.Nodes
- for i := range nodes {
- nodes[i] = createEmptyNode()
- }
- createEdges(nodes[3], nodes[1])
- createEdges(nodes[1], nodes[2])
- createEdges(nodes[2], nodes[0])
- createEdges(nodes[0], nodes[4])
- setEdgeWeight(nodes[3].Out, nodes[1], 12)
- setEdgeWeight(nodes[1].Out, nodes[2], 8)
- setEdgeWeight(nodes[2].Out, nodes[0], 15)
- setEdgeWeight(nodes[0].Out, nodes[4], 10)
-
- // Create expected graph
- expected, keep := createExpectedNodes(nodes[3], nodes[4])
- createExpectedEdges(expected[0], expected[1])
- makeExpectedEdgeResidual(expected[0], expected[1])
- setEdgeWeight(expected[0].out, expected[1].node, 10)
- return trimTreeTestcase{
- initial: graph,
- expected: expected,
- keep: keep,
- }
-}
-
-// createTestCase3 creates an initially empty graph and expects an empty graph
-// after trimming.
-func createTestCase3() trimTreeTestcase {
- graph := &Graph{make(Nodes, 0)}
- expected, keep := createExpectedNodes()
- return trimTreeTestcase{
- initial: graph,
- expected: expected,
- keep: keep,
- }
-}
-
-// createTestCase4 creates a test case that initially looks like:
-// 0.
-//
-// After keeping 0, it expects the graph:
-// 0.
-func createTestCase4() trimTreeTestcase {
- graph := &Graph{make(Nodes, 1)}
- nodes := graph.Nodes
- for i := range nodes {
- nodes[i] = createEmptyNode()
- }
- expected, keep := createExpectedNodes(nodes[0])
- return trimTreeTestcase{
- initial: graph,
- expected: expected,
- keep: keep,
- }
-}
-
-func createTrimTreeTestCases() []trimTreeTestcase {
- caseGenerators := []func() trimTreeTestcase{
- createTestCase1,
- createTestCase2,
- createTestCase3,
- createTestCase4,
- }
- cases := make([]trimTreeTestcase, len(caseGenerators))
- for i, gen := range caseGenerators {
- cases[i] = gen()
- }
- return cases
-}
-
-func TestTrimTree(t *testing.T) {
- tests := createTrimTreeTestCases()
- for _, test := range tests {
- graph := test.initial
- graph.TrimTree(test.keep)
- if !graphsEqual(graph, test.expected) {
- t.Fatalf("Graphs do not match.\nExpected: %s\nFound: %s\n",
- expectedNodesDebugString(test.expected),
- graphDebugString(graph))
- }
- }
-}
-
-func nodeTestProfile() *profile.Profile {
- mappings := []*profile.Mapping{
- {
- ID: 1,
- File: "symbolized_binary",
- },
- {
- ID: 2,
- File: "unsymbolized_library_1",
- },
- {
- ID: 3,
- File: "unsymbolized_library_2",
- },
- }
- functions := []*profile.Function{
- {ID: 1, Name: "symname"},
- {ID: 2},
- }
- locations := []*profile.Location{
- {
- ID: 1,
- Mapping: mappings[0],
- Line: []profile.Line{
- {Function: functions[0]},
- },
- },
- {
- ID: 2,
- Mapping: mappings[1],
- Line: []profile.Line{
- {Function: functions[1]},
- },
- },
- {
- ID: 3,
- Mapping: mappings[2],
- },
- }
- return &profile.Profile{
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"},
- SampleType: []*profile.ValueType{
- {Type: "type", Unit: "unit"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{locations[0]},
- Value: []int64{1},
- },
- {
- Location: []*profile.Location{locations[1]},
- Value: []int64{1},
- },
- {
- Location: []*profile.Location{locations[2]},
- Value: []int64{1},
- },
- },
- Location: locations,
- Function: functions,
- Mapping: mappings,
- }
-}
-
-// Check that nodes are properly created for a simple profile.
-func TestCreateNodes(t *testing.T) {
- testProfile := nodeTestProfile()
- wantNodeSet := NodeSet{
- {Name: "symname"}: true,
- {Objfile: "unsymbolized_library_1"}: true,
- {Objfile: "unsymbolized_library_2"}: true,
- }
-
- nodes, _ := CreateNodes(testProfile, &Options{})
- if len(nodes) != len(wantNodeSet) {
- t.Errorf("got %d nodes, want %d", len(nodes), len(wantNodeSet))
- }
- for _, node := range nodes {
- if !wantNodeSet[node.Info] {
- t.Errorf("unexpected node %v", node.Info)
- }
- }
-}
-
-func TestShortenFunctionName(t *testing.T) {
- type testCase struct {
- name string
- want string
- }
- testcases := []testCase{
- {
- "root",
- "root",
- },
- {
- "syscall.Syscall",
- "syscall.Syscall",
- },
- {
- "net/http.(*conn).serve",
- "http.(*conn).serve",
- },
- {
- "github.com/blahBlah/foo.Foo",
- "foo.Foo",
- },
- {
- "github.com/BlahBlah/foo.Foo",
- "foo.Foo",
- },
- {
- "github.com/blah-blah/foo_bar.(*FooBar).Foo",
- "foo_bar.(*FooBar).Foo",
- },
- {
- "encoding/json.(*structEncoder).(encoding/json.encode)-fm",
- "json.(*structEncoder).(encoding/json.encode)-fm",
- },
- {
- "github.com/blah/blah/vendor/gopkg.in/redis.v3.(*baseClient).(github.com/blah/blah/vendor/gopkg.in/redis.v3.process)-fm",
- "redis.v3.(*baseClient).(github.com/blah/blah/vendor/gopkg.in/redis.v3.process)-fm",
- },
- {
- "java.util.concurrent.ThreadPoolExecutor$Worker.run",
- "ThreadPoolExecutor$Worker.run",
- },
- {
- "java.bar.foo.FooBar.run(java.lang.Runnable)",
- "FooBar.run",
- },
- {
- "(anonymous namespace)::Bar::Foo",
- "Bar::Foo",
- },
- {
- "(anonymous namespace)::foo",
- "foo",
- },
- {
- "foo_bar::Foo::bar",
- "Foo::bar",
- },
- {
- "foo",
- "foo",
- },
- }
- for _, tc := range testcases {
- name := ShortenFunctionName(tc.name)
- if got, want := name, tc.want; got != want {
- t.Errorf("ShortenFunctionName(%q) = %q, want %q", tc.name, got, want)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot
deleted file mode 100644
index da349a40a8..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot
+++ /dev/null
@@ -1,7 +0,0 @@
-digraph "testtitle" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] }
-N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"]
-N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"]
-N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot
deleted file mode 100644
index 0c1a6ebaf1..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot
+++ /dev/null
@@ -1,7 +0,0 @@
-digraph "testtitle" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] }
-N1 [label="SRC10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=24 shape=folder tooltip="src (25)" color="#b23c00" fillcolor="#edddd5" style="bold,filled" peripheries=2 URL="www.google.com" target="_blank"]
-N2 [label="dest\n0 of 25 (25.00%)" id="node2" fontsize=8 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"]
-N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot
deleted file mode 100644
index 1b878b79df..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot
+++ /dev/null
@@ -1,11 +0,0 @@
-digraph "testtitle" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] }
-N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"]
-N1_0 [label = "tag1" id="N1_0" fontsize=8 shape=box3d tooltip="10"]
-N1 -> N1_0 [label=" 10" weight=100 tooltip="10" labeltooltip="10"]
-NN1_0 [label = "tag2" id="NN1_0" fontsize=8 shape=box3d tooltip="20"]
-N1 -> NN1_0 [label=" 20" weight=100 tooltip="20" labeltooltip="20"]
-N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"]
-N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src ... dest (10)" labeltooltip="src ... dest (10)" style="dotted" minlen=2]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot
deleted file mode 100644
index 302da8ce94..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot
+++ /dev/null
@@ -1,4 +0,0 @@
-digraph "testtitle" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot
deleted file mode 100644
index 8876e337e6..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot
+++ /dev/null
@@ -1,11 +0,0 @@
-digraph "testtitle" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] }
-N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"]
-N1_0 [label = "tag1" id="N1_0" fontsize=8 shape=box3d tooltip="10"]
-N1 -> N1_0 [label=" 10" weight=100 tooltip="10" labeltooltip="10"]
-NN1_0_0 [label = "tag2" id="NN1_0_0" fontsize=8 shape=box3d tooltip="20"]
-N1_0 -> NN1_0_0 [label=" 20" weight=100 tooltip="20" labeltooltip="20"]
-N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"]
-N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)" minlen=2]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot
deleted file mode 100644
index cf884394c7..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot
+++ /dev/null
@@ -1,7 +0,0 @@
-digraph "testtitle" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" URL="http://example.com" target="_blank" tooltip="testtitle"] }
-N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"]
-N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"]
-N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go b/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go
deleted file mode 100644
index 155cafa198..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2017 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package measurement
-
-import (
- "testing"
-)
-
-func TestScale(t *testing.T) {
- for _, tc := range []struct {
- value int64
- fromUnit, toUnit string
- wantValue float64
- wantUnit string
- }{
- {1, "s", "ms", 1000, "ms"},
- {1, "kb", "b", 1024, "B"},
- {1, "kbyte", "b", 1024, "B"},
- {1, "kilobyte", "b", 1024, "B"},
- {1, "mb", "kb", 1024, "kB"},
- {1, "gb", "mb", 1024, "MB"},
- {1024, "gb", "tb", 1, "TB"},
- {1024, "tb", "pb", 1, "PB"},
- {2048, "mb", "auto", 2, "GB"},
- {3.1536e7, "s", "auto", 1, "yrs"},
- {-1, "s", "ms", -1000, "ms"},
- {1, "foo", "count", 1, ""},
- {1, "foo", "bar", 1, "bar"},
- } {
- if gotValue, gotUnit := Scale(tc.value, tc.fromUnit, tc.toUnit); gotValue != tc.wantValue || gotUnit != tc.wantUnit {
- t.Errorf("Scale(%d, %q, %q) = (%f, %q), want (%f, %q)",
- tc.value, tc.fromUnit, tc.toUnit, gotValue, gotUnit, tc.wantValue, tc.wantUnit)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go b/src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go
deleted file mode 100644
index 7c4363fadd..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go
+++ /dev/null
@@ -1,414 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package report
-
-import (
- "bytes"
- "io/ioutil"
- "regexp"
- "runtime"
- "testing"
-
- "github.com/google/pprof/internal/binutils"
- "github.com/google/pprof/internal/graph"
- "github.com/google/pprof/internal/proftest"
- "github.com/google/pprof/profile"
-)
-
-type testcase struct {
- rpt *Report
- want string
-}
-
-func TestSource(t *testing.T) {
- const path = "testdata/"
-
- sampleValue1 := func(v []int64) int64 {
- return v[1]
- }
-
- for _, tc := range []testcase{
- {
- rpt: New(
- testProfile.Copy(),
- &Options{
- OutputFormat: List,
- Symbol: regexp.MustCompile(`.`),
- TrimPath: "/some/path",
-
- SampleValue: sampleValue1,
- SampleUnit: testProfile.SampleType[1].Unit,
- },
- ),
- want: path + "source.rpt",
- },
- {
- rpt: New(
- testProfile.Copy(),
- &Options{
- OutputFormat: Dot,
- CallTree: true,
- Symbol: regexp.MustCompile(`.`),
- TrimPath: "/some/path",
-
- SampleValue: sampleValue1,
- SampleUnit: testProfile.SampleType[1].Unit,
- },
- ),
- want: path + "source.dot",
- },
- } {
- var b bytes.Buffer
- if err := Generate(&b, tc.rpt, &binutils.Binutils{}); err != nil {
- t.Fatalf("%s: %v", tc.want, err)
- }
-
- gold, err := ioutil.ReadFile(tc.want)
- if err != nil {
- t.Fatalf("%s: %v", tc.want, err)
- }
- if runtime.GOOS == "windows" {
- gold = bytes.Replace(gold, []byte("testdata/"), []byte("testdata\\"), -1)
- }
- if string(b.String()) != string(gold) {
- d, err := proftest.Diff(gold, b.Bytes())
- if err != nil {
- t.Fatalf("%s: %v", "source", err)
- }
- t.Error("source" + "\n" + string(d) + "\n" + "gold:\n" + tc.want)
- }
- }
-}
-
-var testM = []*profile.Mapping{
- {
- ID: 1,
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
-}
-
-var testF = []*profile.Function{
- {
- ID: 1,
- Name: "main",
- Filename: "testdata/source1",
- },
- {
- ID: 2,
- Name: "foo",
- Filename: "testdata/source1",
- },
- {
- ID: 3,
- Name: "bar",
- Filename: "testdata/source1",
- },
- {
- ID: 4,
- Name: "tee",
- Filename: "/some/path/testdata/source2",
- },
-}
-
-var testL = []*profile.Location{
- {
- ID: 1,
- Mapping: testM[0],
- Line: []profile.Line{
- {
- Function: testF[0],
- Line: 2,
- },
- },
- },
- {
- ID: 2,
- Mapping: testM[0],
- Line: []profile.Line{
- {
- Function: testF[1],
- Line: 4,
- },
- },
- },
- {
- ID: 3,
- Mapping: testM[0],
- Line: []profile.Line{
- {
- Function: testF[2],
- Line: 10,
- },
- },
- },
- {
- ID: 4,
- Mapping: testM[0],
- Line: []profile.Line{
- {
- Function: testF[3],
- Line: 2,
- },
- },
- },
- {
- ID: 5,
- Mapping: testM[0],
- Line: []profile.Line{
- {
- Function: testF[3],
- Line: 8,
- },
- },
- },
-}
-
-var testProfile = &profile.Profile{
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "millisecond"},
- Period: 10,
- DurationNanos: 10e9,
- SampleType: []*profile.ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "cycles"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{testL[0]},
- Value: []int64{1, 1},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{1, 10},
- },
- {
- Location: []*profile.Location{testL[4], testL[2], testL[0]},
- Value: []int64{1, 100},
- },
- {
- Location: []*profile.Location{testL[3], testL[0]},
- Value: []int64{1, 1000},
- },
- {
- Location: []*profile.Location{testL[4], testL[3], testL[0]},
- Value: []int64{1, 10000},
- },
- },
- Location: testL,
- Function: testF,
- Mapping: testM,
-}
-
-func TestDisambiguation(t *testing.T) {
- parent1 := &graph.Node{Info: graph.NodeInfo{Name: "parent1"}}
- parent2 := &graph.Node{Info: graph.NodeInfo{Name: "parent2"}}
- child1 := &graph.Node{Info: graph.NodeInfo{Name: "child"}, Function: parent1}
- child2 := &graph.Node{Info: graph.NodeInfo{Name: "child"}, Function: parent2}
- child3 := &graph.Node{Info: graph.NodeInfo{Name: "child"}, Function: parent1}
- sibling := &graph.Node{Info: graph.NodeInfo{Name: "sibling"}, Function: parent1}
-
- n := []*graph.Node{parent1, parent2, child1, child2, child3, sibling}
-
- wanted := map[*graph.Node]string{
- parent1: "parent1",
- parent2: "parent2",
- child1: "child [1/2]",
- child2: "child [2/2]",
- child3: "child [1/2]",
- sibling: "sibling",
- }
-
- g := &graph.Graph{Nodes: n}
-
- names := getDisambiguatedNames(g)
-
- for node, want := range wanted {
- if got := names[node]; got != want {
- t.Errorf("name %s, got %s, want %s", node.Info.Name, got, want)
- }
- }
-}
-
-func TestFunctionMap(t *testing.T) {
-
- fm := make(functionMap)
- nodes := []graph.NodeInfo{
- {Name: "fun1"},
- {Name: "fun2", File: "filename"},
- {Name: "fun1"},
- {Name: "fun2", File: "filename2"},
- }
-
- want := []struct {
- wantFunction profile.Function
- wantAdded bool
- }{
- {profile.Function{ID: 1, Name: "fun1"}, true},
- {profile.Function{ID: 2, Name: "fun2", Filename: "filename"}, true},
- {profile.Function{ID: 1, Name: "fun1"}, false},
- {profile.Function{ID: 3, Name: "fun2", Filename: "filename2"}, true},
- }
-
- for i, tc := range nodes {
- gotFunc, gotAdded := fm.findOrAdd(tc)
- if got, want := gotFunc, want[i].wantFunction; *got != want {
- t.Errorf("%d: got %v, want %v", i, got, want)
- }
- if got, want := gotAdded, want[i].wantAdded; got != want {
- t.Errorf("%d: got %v, want %v", i, got, want)
- }
- }
-}
-
-func TestLegendActiveFilters(t *testing.T) {
- activeFilterInput := []string{
- "focus=123|456|789|101112|131415|161718|192021|222324|252627|282930|313233|343536|363738|acbdefghijklmnop",
- "show=short filter",
- }
- expectedLegendActiveFilter := []string{
- "Active filters:",
- " focus=123|456|789|101112|131415|161718|192021|222324|252627|282930|313233|343536…",
- " show=short filter",
- }
- legendActiveFilter := legendActiveFilters(activeFilterInput)
- if len(legendActiveFilter) != len(expectedLegendActiveFilter) {
- t.Errorf("wanted length %v got length %v", len(expectedLegendActiveFilter), len(legendActiveFilter))
- }
- for i := range legendActiveFilter {
- if legendActiveFilter[i] != expectedLegendActiveFilter[i] {
- t.Errorf("%d: want \"%v\", got \"%v\"", i, expectedLegendActiveFilter[i], legendActiveFilter[i])
- }
- }
-}
-
-func TestComputeTotal(t *testing.T) {
- p1 := testProfile.Copy()
- p1.Sample = []*profile.Sample{
- {
- Location: []*profile.Location{testL[0]},
- Value: []int64{1, 1},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{1, 10},
- },
- {
- Location: []*profile.Location{testL[4], testL[2], testL[0]},
- Value: []int64{1, 100},
- },
- }
-
- p2 := testProfile.Copy()
- p2.Sample = []*profile.Sample{
- {
- Location: []*profile.Location{testL[0]},
- Value: []int64{1, 1},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{1, -10},
- },
- {
- Location: []*profile.Location{testL[4], testL[2], testL[0]},
- Value: []int64{1, 100},
- },
- }
-
- p3 := testProfile.Copy()
- p3.Sample = []*profile.Sample{
- {
- Location: []*profile.Location{testL[0]},
- Value: []int64{10000, 1},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{-10, 3},
- Label: map[string][]string{"pprof::base": {"true"}},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{1000, -10},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{-9000, 3},
- Label: map[string][]string{"pprof::base": {"true"}},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{-1, 3},
- Label: map[string][]string{"pprof::base": {"true"}},
- },
- {
- Location: []*profile.Location{testL[4], testL[2], testL[0]},
- Value: []int64{100, 100},
- },
- {
- Location: []*profile.Location{testL[2], testL[1], testL[0]},
- Value: []int64{100, 3},
- Label: map[string][]string{"pprof::base": {"true"}},
- },
- }
-
- testcases := []struct {
- desc string
- prof *profile.Profile
- value, meanDiv func(v []int64) int64
- wantTotal int64
- }{
- {
- desc: "no diff base, all positive values, index 1",
- prof: p1,
- value: func(v []int64) int64 {
- return v[0]
- },
- wantTotal: 3,
- },
- {
- desc: "no diff base, all positive values, index 2",
- prof: p1,
- value: func(v []int64) int64 {
- return v[1]
- },
- wantTotal: 111,
- },
- {
- desc: "no diff base, some negative values",
- prof: p2,
- value: func(v []int64) int64 {
- return v[1]
- },
- wantTotal: 111,
- },
- {
- desc: "diff base, some negative values",
- prof: p3,
- value: func(v []int64) int64 {
- return v[0]
- },
- wantTotal: 9111,
- },
- }
-
- for _, tc := range testcases {
- t.Run(tc.desc, func(t *testing.T) {
- if gotTotal := computeTotal(tc.prof, tc.value, tc.meanDiv); gotTotal != tc.wantTotal {
- t.Errorf("got total %d, want %v", gotTotal, tc.wantTotal)
- }
- })
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go b/src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go
deleted file mode 100644
index f1dd5c70dd..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go
+++ /dev/null
@@ -1,185 +0,0 @@
-package report
-
-import (
- "bytes"
- "io/ioutil"
- "os"
- "path/filepath"
- "regexp"
- "runtime"
- "strings"
- "testing"
-
- "github.com/google/pprof/internal/binutils"
- "github.com/google/pprof/profile"
-)
-
-func TestWebList(t *testing.T) {
- if runtime.GOOS != "linux" || runtime.GOARCH != "amd64" {
- t.Skip("weblist only tested on x86-64 linux")
- }
-
- cpu := readProfile(filepath.Join("testdata", "sample.cpu"), t)
- rpt := New(cpu, &Options{
- OutputFormat: WebList,
- Symbol: regexp.MustCompile("busyLoop"),
- SampleValue: func(v []int64) int64 { return v[1] },
- SampleUnit: cpu.SampleType[1].Unit,
- })
- var buf bytes.Buffer
- if err := Generate(&buf, rpt, &binutils.Binutils{}); err != nil {
- t.Fatalf("could not generate weblist: %v", err)
- }
- output := buf.String()
-
- for _, expect := range []string{"func busyLoop", "callq", "math.Abs"} {
- if !strings.Contains(output, expect) {
- t.Errorf("weblist output does not contain '%s':\n%s", expect, output)
- }
- }
-}
-
-func TestOpenSourceFile(t *testing.T) {
- tempdir, err := ioutil.TempDir("", "")
- if err != nil {
- t.Fatalf("failed to create temp dir: %v", err)
- }
- const lsep = string(filepath.ListSeparator)
- for _, tc := range []struct {
- desc string
- searchPath string
- trimPath string
- fs []string
- path string
- wantPath string // If empty, error is wanted.
- }{
- {
- desc: "exact absolute path is found",
- fs: []string{"foo/bar.cc"},
- path: "$dir/foo/bar.cc",
- wantPath: "$dir/foo/bar.cc",
- },
- {
- desc: "exact relative path is found",
- searchPath: "$dir",
- fs: []string{"foo/bar.cc"},
- path: "foo/bar.cc",
- wantPath: "$dir/foo/bar.cc",
- },
- {
- desc: "multiple search path",
- searchPath: "some/path" + lsep + "$dir",
- fs: []string{"foo/bar.cc"},
- path: "foo/bar.cc",
- wantPath: "$dir/foo/bar.cc",
- },
- {
- desc: "relative path is found in parent dir",
- searchPath: "$dir/foo/bar",
- fs: []string{"bar.cc", "foo/bar/baz.cc"},
- path: "bar.cc",
- wantPath: "$dir/bar.cc",
- },
- {
- desc: "trims configured prefix",
- searchPath: "$dir",
- trimPath: "some-path" + lsep + "/some/remote/path",
- fs: []string{"my-project/foo/bar.cc"},
- path: "/some/remote/path/my-project/foo/bar.cc",
- wantPath: "$dir/my-project/foo/bar.cc",
- },
- {
- desc: "trims heuristically",
- searchPath: "$dir/my-project",
- fs: []string{"my-project/foo/bar.cc"},
- path: "/some/remote/path/my-project/foo/bar.cc",
- wantPath: "$dir/my-project/foo/bar.cc",
- },
- {
- desc: "error when not found",
- path: "foo.cc",
- },
- } {
- t.Run(tc.desc, func(t *testing.T) {
- defer func() {
- if err := os.RemoveAll(tempdir); err != nil {
- t.Fatalf("failed to remove dir %q: %v", tempdir, err)
- }
- }()
- for _, f := range tc.fs {
- path := filepath.Join(tempdir, filepath.FromSlash(f))
- dir := filepath.Dir(path)
- if err := os.MkdirAll(dir, 0755); err != nil {
- t.Fatalf("failed to create dir %q: %v", dir, err)
- }
- if err := ioutil.WriteFile(path, nil, 0644); err != nil {
- t.Fatalf("failed to create file %q: %v", path, err)
- }
- }
- tc.searchPath = filepath.FromSlash(strings.Replace(tc.searchPath, "$dir", tempdir, -1))
- tc.path = filepath.FromSlash(strings.Replace(tc.path, "$dir", tempdir, 1))
- tc.wantPath = filepath.FromSlash(strings.Replace(tc.wantPath, "$dir", tempdir, 1))
- if file, err := openSourceFile(tc.path, tc.searchPath, tc.trimPath); err != nil && tc.wantPath != "" {
- t.Errorf("openSourceFile(%q, %q, %q) = err %v, want path %q", tc.path, tc.searchPath, tc.trimPath, err, tc.wantPath)
- } else if err == nil {
- defer file.Close()
- gotPath := file.Name()
- if tc.wantPath == "" {
- t.Errorf("openSourceFile(%q, %q, %q) = %q, want error", tc.path, tc.searchPath, tc.trimPath, gotPath)
- } else if gotPath != tc.wantPath {
- t.Errorf("openSourceFile(%q, %q, %q) = %q, want path %q", tc.path, tc.searchPath, tc.trimPath, gotPath, tc.wantPath)
- }
- }
- })
- }
-}
-
-func TestIndentation(t *testing.T) {
- for _, c := range []struct {
- str string
- wantIndent int
- }{
- {"", 0},
- {"foobar", 0},
- {" foo", 2},
- {"\tfoo", 8},
- {"\t foo", 9},
- {" \tfoo", 8},
- {" \tfoo", 8},
- {" \tfoo", 16},
- } {
- if n := indentation(c.str); n != c.wantIndent {
- t.Errorf("indentation(%v): got %d, want %d", c.str, n, c.wantIndent)
- }
- }
-}
-
-func readProfile(fname string, t *testing.T) *profile.Profile {
- file, err := os.Open(fname)
- if err != nil {
- t.Fatalf("%s: could not open profile: %v", fname, err)
- }
- defer file.Close()
- p, err := profile.Parse(file)
- if err != nil {
- t.Fatalf("%s: could not parse profile: %v", fname, err)
- }
-
- // Fix file names so they do not include absolute path names.
- fix := func(s string) string {
- const testdir = "/internal/report/"
- pos := strings.Index(s, testdir)
- if pos == -1 {
- return s
- }
- return s[pos+len(testdir):]
- }
- for _, m := range p.Mapping {
- m.File = fix(m.File)
- }
- for _, f := range p.Function {
- f.Filename = fix(f.Filename)
- }
-
- return p
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md
deleted file mode 100644
index 2b60fcca6c..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-sample/ contains a sample program that can be profiled.
-sample.bin is its x86-64 binary.
-sample.cpu is a profile generated by sample.bin.
-
-To update the binary and profile:
-
-```shell
-go build -o sample.bin ./sample
-./sample.bin -cpuprofile sample.cpu
-```
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
deleted file mode 100755
index 25929e6460..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.cpu b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.cpu
deleted file mode 100644
index 50eea72ea2..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.cpu
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample/sample.go b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample/sample.go
deleted file mode 100644
index 3c812dd5fd..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample/sample.go
+++ /dev/null
@@ -1,41 +0,0 @@
-// sample program that is used to produce some of the files in
-// pprof/internal/report/testdata.
-package main
-
-import (
- "flag"
- "fmt"
- "log"
- "math"
- "os"
- "runtime/pprof"
-)
-
-var cpuProfile = flag.String("cpuprofile", "", "where to write cpu profile")
-
-func main() {
- flag.Parse()
- f, err := os.Create(*cpuProfile)
- if err != nil {
- log.Fatal("could not create CPU profile: ", err)
- }
- if err := pprof.StartCPUProfile(f); err != nil {
- log.Fatal("could not start CPU profile: ", err)
- }
- defer pprof.StopCPUProfile()
- busyLoop()
-}
-
-func busyLoop() {
- m := make(map[int]int)
- for i := 0; i < 1000000; i++ {
- m[i] = i + 10
- }
- var sum float64
- for i := 0; i < 100; i++ {
- for _, v := range m {
- sum += math.Abs(float64(v))
- }
- }
- fmt.Println("Sum", sum)
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.dot b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.dot
deleted file mode 100644
index b67ca168c5..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.dot
+++ /dev/null
@@ -1,17 +0,0 @@
-digraph "unnamed" {
-node [style=filled fillcolor="#f8f8f8"]
-subgraph cluster_L { "Duration: 10s, Total samples = 11111 " [shape=box fontsize=16 label="Duration: 10s, Total samples = 11111 \lShowing nodes accounting for 11111, 100% of 11111 total\l"] }
-N1 [label="tee\nsource2:8\n10000 (90.00%)" id="node1" fontsize=24 shape=box tooltip="tee testdata/source2:8 (10000)" color="#b20500" fillcolor="#edd6d5"]
-N2 [label="main\nsource1:2\n1 (0.009%)\nof 11111 (100%)" id="node2" fontsize=9 shape=box tooltip="main testdata/source1:2 (11111)" color="#b20000" fillcolor="#edd5d5"]
-N3 [label="tee\nsource2:2\n1000 (9.00%)\nof 11000 (99.00%)" id="node3" fontsize=14 shape=box tooltip="tee testdata/source2:2 (11000)" color="#b20000" fillcolor="#edd5d5"]
-N4 [label="tee\nsource2:8\n100 (0.9%)" id="node4" fontsize=10 shape=box tooltip="tee testdata/source2:8 (100)" color="#b2b0aa" fillcolor="#edecec"]
-N5 [label="bar\nsource1:10\n10 (0.09%)" id="node5" fontsize=9 shape=box tooltip="bar testdata/source1:10 (10)" color="#b2b2b1" fillcolor="#ededed"]
-N6 [label="bar\nsource1:10\n0 of 100 (0.9%)" id="node6" fontsize=8 shape=box tooltip="bar testdata/source1:10 (100)" color="#b2b0aa" fillcolor="#edecec"]
-N7 [label="foo\nsource1:4\n0 of 10 (0.09%)" id="node7" fontsize=8 shape=box tooltip="foo testdata/source1:4 (10)" color="#b2b2b1" fillcolor="#ededed"]
-N2 -> N3 [label=" 11000" weight=100 penwidth=5 color="#b20000" tooltip="main testdata/source1:2 -> tee testdata/source2:2 (11000)" labeltooltip="main testdata/source1:2 -> tee testdata/source2:2 (11000)"]
-N3 -> N1 [label=" 10000" weight=91 penwidth=5 color="#b20500" tooltip="tee testdata/source2:2 -> tee testdata/source2:8 (10000)" labeltooltip="tee testdata/source2:2 -> tee testdata/source2:8 (10000)"]
-N6 -> N4 [label=" 100" color="#b2b0aa" tooltip="bar testdata/source1:10 -> tee testdata/source2:8 (100)" labeltooltip="bar testdata/source1:10 -> tee testdata/source2:8 (100)"]
-N2 -> N6 [label=" 100" color="#b2b0aa" tooltip="main testdata/source1:2 -> bar testdata/source1:10 (100)" labeltooltip="main testdata/source1:2 -> bar testdata/source1:10 (100)"]
-N7 -> N5 [label=" 10" color="#b2b2b1" tooltip="foo testdata/source1:4 -> bar testdata/source1:10 (10)" labeltooltip="foo testdata/source1:4 -> bar testdata/source1:10 (10)"]
-N2 -> N7 [label=" 10" color="#b2b2b1" tooltip="main testdata/source1:2 -> foo testdata/source1:4 (10)" labeltooltip="main testdata/source1:2 -> foo testdata/source1:4 (10)"]
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.rpt b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.rpt
deleted file mode 100644
index 9ec7b3b086..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source.rpt
+++ /dev/null
@@ -1,49 +0,0 @@
-Total: 11111
-ROUTINE ======================== bar in testdata/source1
- 10 110 (flat, cum) 0.99% of Total
- . . 5:source1 line 5;
- . . 6:source1 line 6;
- . . 7:source1 line 7;
- . . 8:source1 line 8;
- . . 9:source1 line 9;
- 10 110 10:source1 line 10;
- . . 11:source1 line 11;
- . . 12:source1 line 12;
- . . 13:source1 line 13;
- . . 14:source1 line 14;
- . . 15:source1 line 15;
-ROUTINE ======================== foo in testdata/source1
- 0 10 (flat, cum) 0.09% of Total
- . . 1:source1 line 1;
- . . 2:source1 line 2;
- . . 3:source1 line 3;
- . 10 4:source1 line 4;
- . . 5:source1 line 5;
- . . 6:source1 line 6;
- . . 7:source1 line 7;
- . . 8:source1 line 8;
- . . 9:source1 line 9;
-ROUTINE ======================== main in testdata/source1
- 1 11111 (flat, cum) 100% of Total
- . . 1:source1 line 1;
- 1 11111 2:source1 line 2;
- . . 3:source1 line 3;
- . . 4:source1 line 4;
- . . 5:source1 line 5;
- . . 6:source1 line 6;
- . . 7:source1 line 7;
-ROUTINE ======================== tee in testdata/source2
- 11100 21100 (flat, cum) 189.90% of Total
- . . 1:source2 line 1;
- 1000 11000 2:source2 line 2;
- . . 3:source2 line 3;
- . . 4:source2 line 4;
- . . 5:source2 line 5;
- . . 6:source2 line 6;
- . . 7:source2 line 7;
- 10100 10100 8:source2 line 8;
- . . 9:source2 line 9;
- . . 10:source2 line 10;
- . . 11:source2 line 11;
- . . 12:source2 line 12;
- . . 13:source2 line 13;
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source1 b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source1
deleted file mode 100644
index 70e3fc3397..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source1
+++ /dev/null
@@ -1,19 +0,0 @@
-source1 line 1;
-source1 line 2;
-source1 line 3;
-source1 line 4;
-source1 line 5;
-source1 line 6;
-source1 line 7;
-source1 line 8;
-source1 line 9;
-source1 line 10;
-source1 line 11;
-source1 line 12;
-source1 line 13;
-source1 line 14;
-source1 line 15;
-source1 line 16;
-source1 line 17;
-source1 line 18;
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source2 b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source2
deleted file mode 100644
index 54f99ccac6..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/source2
+++ /dev/null
@@ -1,19 +0,0 @@
-source2 line 1;
-source2 line 2;
-source2 line 3;
-source2 line 4;
-source2 line 5;
-source2 line 6;
-source2 line 7;
-source2 line 8;
-source2 line 9;
-source2 line 10;
-source2 line 11;
-source2 line 12;
-source2 line 13;
-source2 line 14;
-source2 line 15;
-source2 line 16;
-source2 line 17;
-source2 line 18;
-
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go b/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go
deleted file mode 100644
index 2d26b51e87..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go
+++ /dev/null
@@ -1,300 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package symbolizer
-
-import (
- "fmt"
- "regexp"
- "sort"
- "strings"
- "testing"
-
- "github.com/google/pprof/internal/plugin"
- "github.com/google/pprof/internal/proftest"
- "github.com/google/pprof/profile"
-)
-
-var testM = []*profile.Mapping{
- {
- ID: 1,
- Start: 0x1000,
- Limit: 0x5000,
- File: "mapping",
- },
-}
-
-var testL = []*profile.Location{
- {
- ID: 1,
- Mapping: testM[0],
- Address: 1000,
- },
- {
- ID: 2,
- Mapping: testM[0],
- Address: 2000,
- },
- {
- ID: 3,
- Mapping: testM[0],
- Address: 3000,
- },
- {
- ID: 4,
- Mapping: testM[0],
- Address: 4000,
- },
- {
- ID: 5,
- Mapping: testM[0],
- Address: 5000,
- },
-}
-
-var testProfile = profile.Profile{
- DurationNanos: 10e9,
- SampleType: []*profile.ValueType{
- {Type: "cpu", Unit: "cycles"},
- },
- Sample: []*profile.Sample{
- {
- Location: []*profile.Location{testL[0]},
- Value: []int64{1},
- },
- {
- Location: []*profile.Location{testL[1], testL[0]},
- Value: []int64{10},
- },
- {
- Location: []*profile.Location{testL[2], testL[0]},
- Value: []int64{100},
- },
- {
- Location: []*profile.Location{testL[3], testL[0]},
- Value: []int64{1},
- },
- {
- Location: []*profile.Location{testL[4], testL[3], testL[0]},
- Value: []int64{10000},
- },
- },
- Location: testL,
- Mapping: testM,
- PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 10,
-}
-
-func TestSymbolization(t *testing.T) {
- sSym := symbolzSymbolize
- lSym := localSymbolize
- defer func() {
- symbolzSymbolize = sSym
- localSymbolize = lSym
- demangleFunction = Demangle
- }()
- symbolzSymbolize = symbolzMock
- localSymbolize = localMock
- demangleFunction = demangleMock
-
- type testcase struct {
- mode string
- wantComment string
- }
-
- s := Symbolizer{
- Obj: mockObjTool{},
- UI: &proftest.TestUI{T: t},
- }
- for i, tc := range []testcase{
- {
- "local",
- "local=[]",
- },
- {
- "fastlocal",
- "local=[fast]",
- },
- {
- "remote",
- "symbolz=[]",
- },
- {
- "",
- "local=[]:symbolz=[]",
- },
- {
- "demangle=none",
- "demangle=[none]:force:local=[force]:symbolz=[force]",
- },
- {
- "remote:demangle=full",
- "demangle=[full]:force:symbolz=[force]",
- },
- {
- "local:demangle=templates",
- "demangle=[templates]:force:local=[force]",
- },
- {
- "force:remote",
- "force:symbolz=[force]",
- },
- } {
- prof := testProfile.Copy()
- if err := s.Symbolize(tc.mode, nil, prof); err != nil {
- t.Errorf("symbolize #%d: %v", i, err)
- continue
- }
- sort.Strings(prof.Comments)
- if got, want := strings.Join(prof.Comments, ":"), tc.wantComment; got != want {
- t.Errorf("%q: got %s, want %s", tc.mode, got, want)
- continue
- }
- }
-}
-
-func symbolzMock(p *profile.Profile, force bool, sources plugin.MappingSources, syms func(string, string) ([]byte, error), ui plugin.UI) error {
- var args []string
- if force {
- args = append(args, "force")
- }
- p.Comments = append(p.Comments, "symbolz=["+strings.Join(args, ",")+"]")
- return nil
-}
-
-func localMock(p *profile.Profile, fast, force bool, obj plugin.ObjTool, ui plugin.UI) error {
- var args []string
- if fast {
- args = append(args, "fast")
- }
- if force {
- args = append(args, "force")
- }
- p.Comments = append(p.Comments, "local=["+strings.Join(args, ",")+"]")
- return nil
-}
-
-func demangleMock(p *profile.Profile, force bool, mode string) {
- if force {
- p.Comments = append(p.Comments, "force")
- }
- if mode != "" {
- p.Comments = append(p.Comments, "demangle=["+mode+"]")
- }
-}
-
-func TestLocalSymbolization(t *testing.T) {
- prof := testProfile.Copy()
-
- if prof.HasFunctions() {
- t.Error("unexpected function names")
- }
- if prof.HasFileLines() {
- t.Error("unexpected filenames or line numbers")
- }
-
- b := mockObjTool{}
- if err := localSymbolize(prof, false, false, b, &proftest.TestUI{T: t}); err != nil {
- t.Fatalf("localSymbolize(): %v", err)
- }
-
- for _, loc := range prof.Location {
- if err := checkSymbolizedLocation(loc.Address, loc.Line); err != nil {
- t.Errorf("location %d: %v", loc.Address, err)
- }
- }
- if !prof.HasFunctions() {
- t.Error("missing function names")
- }
- if !prof.HasFileLines() {
- t.Error("missing filenames or line numbers")
- }
-}
-
-func checkSymbolizedLocation(a uint64, got []profile.Line) error {
- want, ok := mockAddresses[a]
- if !ok {
- return fmt.Errorf("unexpected address")
- }
- if len(want) != len(got) {
- return fmt.Errorf("want len %d, got %d", len(want), len(got))
- }
-
- for i, w := range want {
- g := got[i]
- if g.Function.Name != w.Func {
- return fmt.Errorf("want function: %q, got %q", w.Func, g.Function.Name)
- }
- if g.Function.Filename != w.File {
- return fmt.Errorf("want filename: %q, got %q", w.File, g.Function.Filename)
- }
- if g.Line != int64(w.Line) {
- return fmt.Errorf("want lineno: %d, got %d", w.Line, g.Line)
- }
- }
- return nil
-}
-
-var mockAddresses = map[uint64][]plugin.Frame{
- 1000: {frame("fun11", "file11.src", 10)},
- 2000: {frame("fun21", "file21.src", 20), frame("fun22", "file22.src", 20)},
- 3000: {frame("fun31", "file31.src", 30), frame("fun32", "file32.src", 30), frame("fun33", "file33.src", 30)},
- 4000: {frame("fun41", "file41.src", 40), frame("fun42", "file42.src", 40), frame("fun43", "file43.src", 40), frame("fun44", "file44.src", 40)},
- 5000: {frame("fun51", "file51.src", 50), frame("fun52", "file52.src", 50), frame("fun53", "file53.src", 50), frame("fun54", "file54.src", 50), frame("fun55", "file55.src", 50)},
-}
-
-func frame(fname, file string, line int) plugin.Frame {
- return plugin.Frame{
- Func: fname,
- File: file,
- Line: line}
-}
-
-type mockObjTool struct{}
-
-func (mockObjTool) Open(file string, start, limit, offset uint64) (plugin.ObjFile, error) {
- return mockObjFile{frames: mockAddresses}, nil
-}
-
-func (mockObjTool) Disasm(file string, start, end uint64) ([]plugin.Inst, error) {
- return nil, fmt.Errorf("disassembly not supported")
-}
-
-type mockObjFile struct {
- frames map[uint64][]plugin.Frame
-}
-
-func (mockObjFile) Name() string {
- return ""
-}
-
-func (mockObjFile) Base() uint64 {
- return 0
-}
-
-func (mockObjFile) BuildID() string {
- return ""
-}
-
-func (mf mockObjFile) SourceLine(addr uint64) ([]plugin.Frame, error) {
- return mf.frames[addr], nil
-}
-
-func (mockObjFile) Symbols(r *regexp.Regexp, addr uint64) ([]*plugin.Sym, error) {
- return []*plugin.Sym{}, nil
-}
-
-func (mockObjFile) Close() error {
- return nil
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go b/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go
deleted file mode 100644
index e71811f3c4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package symbolz
-
-import (
- "fmt"
- "math"
- "strings"
- "testing"
-
- "github.com/google/pprof/internal/plugin"
- "github.com/google/pprof/internal/proftest"
- "github.com/google/pprof/profile"
-)
-
-func TestSymbolzURL(t *testing.T) {
- for try, want := range map[string]string{
- "http://host:8000/profilez": "http://host:8000/symbolz",
- "http://host:8000/profilez?seconds=5": "http://host:8000/symbolz",
- "http://host:8000/profilez?seconds=5&format=proto": "http://host:8000/symbolz",
- "http://host:8000/heapz?format=legacy": "http://host:8000/symbolz",
- "http://host:8000/debug/pprof/profile": "http://host:8000/debug/pprof/symbol",
- "http://host:8000/debug/pprof/profile?seconds=10": "http://host:8000/debug/pprof/symbol",
- "http://host:8000/debug/pprof/heap": "http://host:8000/debug/pprof/symbol",
- "http://some.host:8080/some/deeper/path/debug/pprof/endpoint?param=value": "http://some.host:8080/some/deeper/path/debug/pprof/symbol",
- "http://host:8000/pprof/profile": "http://host:8000/pprof/symbol",
- "http://host:8000/pprof/profile?seconds=15": "http://host:8000/pprof/symbol",
- "http://host:8000/pprof/heap": "http://host:8000/pprof/symbol",
- "http://host:8000/debug/pprof/block": "http://host:8000/debug/pprof/symbol",
- "http://host:8000/debug/pprof/trace?seconds=5": "http://host:8000/debug/pprof/symbol",
- "http://host:8000/debug/pprof/mutex": "http://host:8000/debug/pprof/symbol",
- "http://host/whatever/pprof/heap": "http://host/whatever/pprof/symbol",
- "http://host/whatever/pprof/growth": "http://host/whatever/pprof/symbol",
- "http://host/whatever/pprof/profile": "http://host/whatever/pprof/symbol",
- "http://host/whatever/pprof/pmuprofile": "http://host/whatever/pprof/symbol",
- "http://host/whatever/pprof/contention": "http://host/whatever/pprof/symbol",
- } {
- if got := symbolz(try); got != want {
- t.Errorf(`symbolz(%s)=%s, want "%s"`, try, got, want)
- }
- }
-}
-
-func TestSymbolize(t *testing.T) {
- s := plugin.MappingSources{
- "buildid": []struct {
- Source string
- Start uint64
- }{
- {Source: "http://localhost:80/profilez"},
- },
- }
-
- for _, hasFunctions := range []bool{false, true} {
- for _, force := range []bool{false, true} {
- p := testProfile(hasFunctions)
-
- if err := Symbolize(p, force, s, fetchSymbols, &proftest.TestUI{T: t}); err != nil {
- t.Errorf("symbolz: %v", err)
- continue
- }
- var wantSym, wantNoSym []*profile.Location
- if force || !hasFunctions {
- wantNoSym = p.Location[:1]
- wantSym = p.Location[1:]
- } else {
- wantNoSym = p.Location
- }
-
- if err := checkSymbolized(wantSym, true); err != nil {
- t.Errorf("symbolz hasFns=%v force=%v: %v", hasFunctions, force, err)
- }
- if err := checkSymbolized(wantNoSym, false); err != nil {
- t.Errorf("symbolz hasFns=%v force=%v: %v", hasFunctions, force, err)
- }
- }
- }
-}
-
-func testProfile(hasFunctions bool) *profile.Profile {
- m := []*profile.Mapping{
- {
- ID: 1,
- Start: 0x1000,
- Limit: 0x5000,
- BuildID: "buildid",
- HasFunctions: hasFunctions,
- },
- }
- p := &profile.Profile{
- Location: []*profile.Location{
- {ID: 1, Mapping: m[0], Address: 0x1000},
- {ID: 2, Mapping: m[0], Address: 0x2000},
- {ID: 3, Mapping: m[0], Address: 0x3000},
- {ID: 4, Mapping: m[0], Address: 0x4000},
- },
- Mapping: m,
- }
-
- return p
-}
-
-func checkSymbolized(locs []*profile.Location, wantSymbolized bool) error {
- for _, loc := range locs {
- if !wantSymbolized && len(loc.Line) != 0 {
- return fmt.Errorf("unexpected symbolization for %#x: %v", loc.Address, loc.Line)
- }
- if wantSymbolized {
- if len(loc.Line) != 1 {
- return fmt.Errorf("expected symbolization for %#x: %v", loc.Address, loc.Line)
- }
- address := loc.Address - loc.Mapping.Start
- if got, want := loc.Line[0].Function.Name, fmt.Sprintf("%#x", address); got != want {
- return fmt.Errorf("symbolz %#x, got %s, want %s", address, got, want)
- }
- }
- }
- return nil
-}
-
-func fetchSymbols(source, post string) ([]byte, error) {
- var symbolz string
-
- addresses := strings.Split(post, "+")
- // Do not symbolize the first symbol.
- for _, address := range addresses[1:] {
- symbolz += fmt.Sprintf("%s\t%s\n", address, address)
- }
- return []byte(symbolz), nil
-}
-
-func TestAdjust(t *testing.T) {
- for _, tc := range []struct {
- addr uint64
- offset int64
- wantAdj uint64
- wantOverflow bool
- }{{math.MaxUint64, 0, math.MaxUint64, false},
- {math.MaxUint64, 1, 0, true},
- {math.MaxUint64 - 1, 1, math.MaxUint64, false},
- {math.MaxUint64 - 1, 2, 0, true},
- {math.MaxInt64 + 1, math.MaxInt64, math.MaxUint64, false},
- {0, 0, 0, false},
- {0, -1, 0, true},
- {1, -1, 0, false},
- {2, -1, 1, false},
- {2, -2, 0, false},
- {2, -3, 0, true},
- {-math.MinInt64, math.MinInt64, 0, false},
- {-math.MinInt64 + 1, math.MinInt64, 1, false},
- {-math.MinInt64 - 1, math.MinInt64, 0, true},
- } {
- if adj, overflow := adjust(tc.addr, tc.offset); adj != tc.wantAdj || overflow != tc.wantOverflow {
- t.Errorf("adjust(%d, %d) = (%d, %t), want (%d, %t)", tc.addr, tc.offset, adj, overflow, tc.wantAdj, tc.wantOverflow)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/filter_test.go b/src/cmd/vendor/github.com/google/pprof/profile/filter_test.go
deleted file mode 100644
index 3fd1787e8b..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/filter_test.go
+++ /dev/null
@@ -1,599 +0,0 @@
-// Copyright 2018 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package profile
-
-import (
- "fmt"
- "regexp"
- "strings"
- "testing"
-
- "github.com/google/pprof/internal/proftest"
-)
-
-var mappings = []*Mapping{
- {ID: 1, Start: 0x10000, Limit: 0x40000, File: "map0", HasFunctions: true, HasFilenames: true, HasLineNumbers: true, HasInlineFrames: true},
- {ID: 2, Start: 0x50000, Limit: 0x70000, File: "map1", HasFunctions: true, HasFilenames: true, HasLineNumbers: true, HasInlineFrames: true},
-}
-
-var functions = []*Function{
- {ID: 1, Name: "fun0", SystemName: "fun0", Filename: "file0"},
- {ID: 2, Name: "fun1", SystemName: "fun1", Filename: "file1"},
- {ID: 3, Name: "fun2", SystemName: "fun2", Filename: "file2"},
- {ID: 4, Name: "fun3", SystemName: "fun3", Filename: "file3"},
- {ID: 5, Name: "fun4", SystemName: "fun4", Filename: "file4"},
- {ID: 6, Name: "fun5", SystemName: "fun5", Filename: "file5"},
- {ID: 7, Name: "fun6", SystemName: "fun6", Filename: "file6"},
- {ID: 8, Name: "fun7", SystemName: "fun7", Filename: "file7"},
- {ID: 9, Name: "fun8", SystemName: "fun8", Filename: "file8"},
- {ID: 10, Name: "fun9", SystemName: "fun9", Filename: "file9"},
- {ID: 11, Name: "fun10", SystemName: "fun10", Filename: "file10"},
-}
-
-var noInlinesLocs = []*Location{
- {ID: 1, Mapping: mappings[0], Address: 0x1000, Line: []Line{{Function: functions[0], Line: 1}}},
- {ID: 2, Mapping: mappings[0], Address: 0x2000, Line: []Line{{Function: functions[1], Line: 1}}},
- {ID: 3, Mapping: mappings[0], Address: 0x3000, Line: []Line{{Function: functions[2], Line: 1}}},
- {ID: 4, Mapping: mappings[0], Address: 0x4000, Line: []Line{{Function: functions[3], Line: 1}}},
- {ID: 5, Mapping: mappings[0], Address: 0x5000, Line: []Line{{Function: functions[4], Line: 1}}},
- {ID: 6, Mapping: mappings[0], Address: 0x6000, Line: []Line{{Function: functions[5], Line: 1}}},
- {ID: 7, Mapping: mappings[0], Address: 0x7000, Line: []Line{{Function: functions[6], Line: 1}}},
- {ID: 8, Mapping: mappings[0], Address: 0x8000, Line: []Line{{Function: functions[7], Line: 1}}},
- {ID: 9, Mapping: mappings[0], Address: 0x9000, Line: []Line{{Function: functions[8], Line: 1}}},
- {ID: 10, Mapping: mappings[0], Address: 0x10000, Line: []Line{{Function: functions[9], Line: 1}}},
- {ID: 11, Mapping: mappings[1], Address: 0x11000, Line: []Line{{Function: functions[10], Line: 1}}},
-}
-
-var noInlinesProfile = &Profile{
- TimeNanos: 10000,
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{{Type: "samples", Unit: "count"}},
- Mapping: mappings,
- Function: functions,
- Location: noInlinesLocs,
- Sample: []*Sample{
- {Value: []int64{1}, Location: []*Location{noInlinesLocs[0], noInlinesLocs[1], noInlinesLocs[2], noInlinesLocs[3]}},
- {Value: []int64{2}, Location: []*Location{noInlinesLocs[4], noInlinesLocs[5], noInlinesLocs[1], noInlinesLocs[6]}},
- {Value: []int64{3}, Location: []*Location{noInlinesLocs[7], noInlinesLocs[8]}},
- {Value: []int64{4}, Location: []*Location{noInlinesLocs[9], noInlinesLocs[4], noInlinesLocs[10], noInlinesLocs[7]}},
- },
-}
-
-var allNoInlinesSampleFuncs = []string{
- "fun0 fun1 fun2 fun3: 1",
- "fun4 fun5 fun1 fun6: 2",
- "fun7 fun8: 3",
- "fun9 fun4 fun10 fun7: 4",
-}
-
-var inlinesLocs = []*Location{
- {ID: 1, Mapping: mappings[0], Address: 0x1000, Line: []Line{{Function: functions[0], Line: 1}, {Function: functions[1], Line: 1}}},
- {ID: 2, Mapping: mappings[0], Address: 0x2000, Line: []Line{{Function: functions[2], Line: 1}, {Function: functions[3], Line: 1}}},
- {ID: 3, Mapping: mappings[0], Address: 0x3000, Line: []Line{{Function: functions[4], Line: 1}, {Function: functions[5], Line: 1}, {Function: functions[6], Line: 1}}},
-}
-
-var inlinesProfile = &Profile{
- TimeNanos: 10000,
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{{Type: "samples", Unit: "count"}},
- Mapping: mappings,
- Function: functions,
- Location: inlinesLocs,
- Sample: []*Sample{
- {Value: []int64{1}, Location: []*Location{inlinesLocs[0], inlinesLocs[1]}},
- {Value: []int64{2}, Location: []*Location{inlinesLocs[2]}},
- },
-}
-
-var emptyLinesLocs = []*Location{
- {ID: 1, Mapping: mappings[0], Address: 0x1000, Line: []Line{{Function: functions[0], Line: 1}, {Function: functions[1], Line: 1}}},
- {ID: 2, Mapping: mappings[0], Address: 0x2000, Line: []Line{}},
- {ID: 3, Mapping: mappings[1], Address: 0x2000, Line: []Line{}},
-}
-
-var emptyLinesProfile = &Profile{
- TimeNanos: 10000,
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{{Type: "samples", Unit: "count"}},
- Mapping: mappings,
- Function: functions,
- Location: emptyLinesLocs,
- Sample: []*Sample{
- {Value: []int64{1}, Location: []*Location{emptyLinesLocs[0], emptyLinesLocs[1]}},
- {Value: []int64{2}, Location: []*Location{emptyLinesLocs[2]}},
- {Value: []int64{3}, Location: []*Location{}},
- },
-}
-
-func TestFilterSamplesByName(t *testing.T) {
- for _, tc := range []struct {
- // name is the name of the test case.
- name string
- // profile is the profile that gets filtered.
- profile *Profile
- // These are the inputs to FilterSamplesByName().
- focus, ignore, hide, show *regexp.Regexp
- // want{F,I,S,H}m are expected return values from FilterSamplesByName.
- wantFm, wantIm, wantSm, wantHm bool
- // wantSampleFuncs contains expected stack functions and sample value after
- // filtering, in the same order as in the profile. The format is as
- // returned by sampleFuncs function below, which is "callee caller: <num>".
- wantSampleFuncs []string
- }{
- // No Filters
- {
- name: "empty filters keep all frames",
- profile: noInlinesProfile,
- wantFm: true,
- wantSampleFuncs: allNoInlinesSampleFuncs,
- },
- // Focus
- {
- name: "focus with no matches",
- profile: noInlinesProfile,
- focus: regexp.MustCompile("unknown"),
- },
- {
- name: "focus matches function names",
- profile: noInlinesProfile,
- focus: regexp.MustCompile("fun1"),
- wantFm: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2 fun3: 1",
- "fun4 fun5 fun1 fun6: 2",
- "fun9 fun4 fun10 fun7: 4",
- },
- },
- {
- name: "focus matches file names",
- profile: noInlinesProfile,
- focus: regexp.MustCompile("file1"),
- wantFm: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2 fun3: 1",
- "fun4 fun5 fun1 fun6: 2",
- "fun9 fun4 fun10 fun7: 4",
- },
- },
- {
- name: "focus matches mapping names",
- profile: noInlinesProfile,
- focus: regexp.MustCompile("map1"),
- wantFm: true,
- wantSampleFuncs: []string{
- "fun9 fun4 fun10 fun7: 4",
- },
- },
- {
- name: "focus matches inline functions",
- profile: inlinesProfile,
- focus: regexp.MustCompile("fun5"),
- wantFm: true,
- wantSampleFuncs: []string{
- "fun4 fun5 fun6: 2",
- },
- },
- // Ignore
- {
- name: "ignore with no matches matches all samples",
- profile: noInlinesProfile,
- ignore: regexp.MustCompile("unknown"),
- wantFm: true,
- wantSampleFuncs: allNoInlinesSampleFuncs,
- },
- {
- name: "ignore matches function names",
- profile: noInlinesProfile,
- ignore: regexp.MustCompile("fun1"),
- wantFm: true,
- wantIm: true,
- wantSampleFuncs: []string{
- "fun7 fun8: 3",
- },
- },
- {
- name: "ignore matches file names",
- profile: noInlinesProfile,
- ignore: regexp.MustCompile("file1"),
- wantFm: true,
- wantIm: true,
- wantSampleFuncs: []string{
- "fun7 fun8: 3",
- },
- },
- {
- name: "ignore matches mapping names",
- profile: noInlinesProfile,
- ignore: regexp.MustCompile("map1"),
- wantFm: true,
- wantIm: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2 fun3: 1",
- "fun4 fun5 fun1 fun6: 2",
- "fun7 fun8: 3",
- },
- },
- {
- name: "ignore matches inline functions",
- profile: inlinesProfile,
- ignore: regexp.MustCompile("fun5"),
- wantFm: true,
- wantIm: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2 fun3: 1",
- },
- },
- // Show
- {
- name: "show with no matches",
- profile: noInlinesProfile,
- show: regexp.MustCompile("unknown"),
- wantFm: true,
- },
- {
- name: "show matches function names",
- profile: noInlinesProfile,
- show: regexp.MustCompile("fun1|fun2"),
- wantFm: true,
- wantSm: true,
- wantSampleFuncs: []string{
- "fun1 fun2: 1",
- "fun1: 2",
- "fun10: 4",
- },
- },
- {
- name: "show matches file names",
- profile: noInlinesProfile,
- show: regexp.MustCompile("file1|file3"),
- wantFm: true,
- wantSm: true,
- wantSampleFuncs: []string{
- "fun1 fun3: 1",
- "fun1: 2",
- "fun10: 4",
- },
- },
- {
- name: "show matches mapping names",
- profile: noInlinesProfile,
- show: regexp.MustCompile("map1"),
- wantFm: true,
- wantSm: true,
- wantSampleFuncs: []string{
- "fun10: 4",
- },
- },
- {
- name: "show matches inline functions",
- profile: inlinesProfile,
- show: regexp.MustCompile("fun[03]"),
- wantFm: true,
- wantSm: true,
- wantSampleFuncs: []string{
- "fun0 fun3: 1",
- },
- },
- {
- name: "show keeps all lines when matching both mapping and function",
- profile: inlinesProfile,
- show: regexp.MustCompile("map0|fun5"),
- wantFm: true,
- wantSm: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2 fun3: 1",
- "fun4 fun5 fun6: 2",
- },
- },
- // Hide
- {
- name: "hide with no matches",
- profile: noInlinesProfile,
- hide: regexp.MustCompile("unknown"),
- wantFm: true,
- wantSampleFuncs: allNoInlinesSampleFuncs,
- },
- {
- name: "hide matches function names",
- profile: noInlinesProfile,
- hide: regexp.MustCompile("fun1|fun2"),
- wantFm: true,
- wantHm: true,
- wantSampleFuncs: []string{
- "fun0 fun3: 1",
- "fun4 fun5 fun6: 2",
- "fun7 fun8: 3",
- "fun9 fun4 fun7: 4",
- },
- },
- {
- name: "hide matches file names",
- profile: noInlinesProfile,
- hide: regexp.MustCompile("file1|file3"),
- wantFm: true,
- wantHm: true,
- wantSampleFuncs: []string{
- "fun0 fun2: 1",
- "fun4 fun5 fun6: 2",
- "fun7 fun8: 3",
- "fun9 fun4 fun7: 4",
- },
- },
- {
- name: "hide matches mapping names",
- profile: noInlinesProfile,
- hide: regexp.MustCompile("map1"),
- wantFm: true,
- wantHm: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2 fun3: 1",
- "fun4 fun5 fun1 fun6: 2",
- "fun7 fun8: 3",
- "fun9 fun4 fun7: 4",
- },
- },
- {
- name: "hide matches inline functions",
- profile: inlinesProfile,
- hide: regexp.MustCompile("fun[125]"),
- wantFm: true,
- wantHm: true,
- wantSampleFuncs: []string{
- "fun0 fun3: 1",
- "fun4 fun6: 2",
- },
- },
- {
- name: "hide drops all lines when matching both mapping and function",
- profile: inlinesProfile,
- hide: regexp.MustCompile("map0|fun5"),
- wantFm: true,
- wantHm: true,
- },
- // Compound filters
- {
- name: "hides a stack matched by both focus and ignore",
- profile: noInlinesProfile,
- focus: regexp.MustCompile("fun1|fun7"),
- ignore: regexp.MustCompile("fun1"),
- wantFm: true,
- wantIm: true,
- wantSampleFuncs: []string{
- "fun7 fun8: 3",
- },
- },
- {
- name: "hides a function if both show and hide match it",
- profile: noInlinesProfile,
- show: regexp.MustCompile("fun1"),
- hide: regexp.MustCompile("fun10"),
- wantFm: true,
- wantSm: true,
- wantHm: true,
- wantSampleFuncs: []string{
- "fun1: 1",
- "fun1: 2",
- },
- },
- } {
- t.Run(tc.name, func(t *testing.T) {
- p := tc.profile.Copy()
- fm, im, hm, sm := p.FilterSamplesByName(tc.focus, tc.ignore, tc.hide, tc.show)
-
- type match struct{ fm, im, hm, sm bool }
- if got, want := (match{fm: fm, im: im, hm: hm, sm: sm}), (match{fm: tc.wantFm, im: tc.wantIm, hm: tc.wantHm, sm: tc.wantSm}); got != want {
- t.Errorf("match got %+v want %+v", got, want)
- }
-
- if got, want := strings.Join(sampleFuncs(p), "\n")+"\n", strings.Join(tc.wantSampleFuncs, "\n")+"\n"; got != want {
- diff, err := proftest.Diff([]byte(want), []byte(got))
- if err != nil {
- t.Fatalf("failed to get diff: %v", err)
- }
- t.Errorf("FilterSamplesByName: got diff(want->got):\n%s", diff)
- }
- })
- }
-}
-
-func TestShowFrom(t *testing.T) {
- for _, tc := range []struct {
- name string
- profile *Profile
- showFrom *regexp.Regexp
- // wantMatch is the expected return value.
- wantMatch bool
- // wantSampleFuncs contains expected stack functions and sample value after
- // filtering, in the same order as in the profile. The format is as
- // returned by sampleFuncs function below, which is "callee caller: <num>".
- wantSampleFuncs []string
- }{
- {
- name: "nil showFrom keeps all frames",
- profile: noInlinesProfile,
- wantMatch: false,
- wantSampleFuncs: allNoInlinesSampleFuncs,
- },
- {
- name: "showFrom with no matches drops all samples",
- profile: noInlinesProfile,
- showFrom: regexp.MustCompile("unknown"),
- wantMatch: false,
- },
- {
- name: "showFrom matches function names",
- profile: noInlinesProfile,
- showFrom: regexp.MustCompile("fun1"),
- wantMatch: true,
- wantSampleFuncs: []string{
- "fun0 fun1: 1",
- "fun4 fun5 fun1: 2",
- "fun9 fun4 fun10: 4",
- },
- },
- {
- name: "showFrom matches file names",
- profile: noInlinesProfile,
- showFrom: regexp.MustCompile("file1"),
- wantMatch: true,
- wantSampleFuncs: []string{
- "fun0 fun1: 1",
- "fun4 fun5 fun1: 2",
- "fun9 fun4 fun10: 4",
- },
- },
- {
- name: "showFrom matches mapping names",
- profile: noInlinesProfile,
- showFrom: regexp.MustCompile("map1"),
- wantMatch: true,
- wantSampleFuncs: []string{
- "fun9 fun4 fun10: 4",
- },
- },
- {
- name: "showFrom drops frames above highest of multiple matches",
- profile: noInlinesProfile,
- showFrom: regexp.MustCompile("fun[12]"),
- wantMatch: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2: 1",
- "fun4 fun5 fun1: 2",
- "fun9 fun4 fun10: 4",
- },
- },
- {
- name: "showFrom matches inline functions",
- profile: inlinesProfile,
- showFrom: regexp.MustCompile("fun0|fun5"),
- wantMatch: true,
- wantSampleFuncs: []string{
- "fun0: 1",
- "fun4 fun5: 2",
- },
- },
- {
- name: "showFrom drops frames above highest of multiple inline matches",
- profile: inlinesProfile,
- showFrom: regexp.MustCompile("fun[1245]"),
- wantMatch: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2: 1",
- "fun4 fun5: 2",
- },
- },
- {
- name: "showFrom keeps all lines when matching mapping and function",
- profile: inlinesProfile,
- showFrom: regexp.MustCompile("map0|fun5"),
- wantMatch: true,
- wantSampleFuncs: []string{
- "fun0 fun1 fun2 fun3: 1",
- "fun4 fun5 fun6: 2",
- },
- },
- {
- name: "showFrom matches location with empty lines",
- profile: emptyLinesProfile,
- showFrom: regexp.MustCompile("map1"),
- wantMatch: true,
- wantSampleFuncs: []string{
- ": 2",
- },
- },
- } {
- t.Run(tc.name, func(t *testing.T) {
- p := tc.profile.Copy()
-
- if gotMatch := p.ShowFrom(tc.showFrom); gotMatch != tc.wantMatch {
- t.Errorf("match got %+v, want %+v", gotMatch, tc.wantMatch)
- }
-
- if got, want := strings.Join(sampleFuncs(p), "\n")+"\n", strings.Join(tc.wantSampleFuncs, "\n")+"\n"; got != want {
- diff, err := proftest.Diff([]byte(want), []byte(got))
- if err != nil {
- t.Fatalf("failed to get diff: %v", err)
- }
- t.Errorf("profile samples got diff(want->got):\n%s", diff)
- }
- })
- }
-}
-
-// sampleFuncs returns a slice of strings where each string represents one
-// profile sample in the format "<fun1> <fun2> <fun3>: <value>". This allows
-// the expected values for test cases to be specifed in human-readable strings.
-func sampleFuncs(p *Profile) []string {
- var ret []string
- for _, s := range p.Sample {
- var funcs []string
- for _, loc := range s.Location {
- for _, line := range loc.Line {
- funcs = append(funcs, line.Function.Name)
- }
- }
- ret = append(ret, fmt.Sprintf("%s: %d", strings.Join(funcs, " "), s.Value[0]))
- }
- return ret
-}
-
-func TestTagFilter(t *testing.T) {
- // Perform several forms of tag filtering on the test profile.
-
- type filterTestcase struct {
- include, exclude *regexp.Regexp
- im, em bool
- count int
- }
-
- countTags := func(p *Profile) map[string]bool {
- tags := make(map[string]bool)
-
- for _, s := range p.Sample {
- for l := range s.Label {
- tags[l] = true
- }
- for l := range s.NumLabel {
- tags[l] = true
- }
- }
- return tags
- }
-
- for tx, tc := range []filterTestcase{
- {nil, nil, true, false, 3},
- {regexp.MustCompile("notfound"), nil, false, false, 0},
- {regexp.MustCompile("key1"), nil, true, false, 1},
- {nil, regexp.MustCompile("key[12]"), true, true, 1},
- } {
- prof := testProfile1.Copy()
- gim, gem := prof.FilterTagsByName(tc.include, tc.exclude)
- if gim != tc.im {
- t.Errorf("Filter #%d, got include match=%v, want %v", tx, gim, tc.im)
- }
- if gem != tc.em {
- t.Errorf("Filter #%d, got exclude match=%v, want %v", tx, gem, tc.em)
- }
- if tags := countTags(prof); len(tags) != tc.count {
- t.Errorf("Filter #%d, got %d tags[%v], want %d", tx, len(tags), tags, tc.count)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/index_test.go b/src/cmd/vendor/github.com/google/pprof/profile/index_test.go
deleted file mode 100644
index f846b59273..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/index_test.go
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2016 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package profile
-
-import (
- "testing"
-)
-
-func TestSampleIndexByName(t *testing.T) {
- for _, c := range []struct {
- desc string
- sampleTypes []string
- defaultSampleType string
- index string
- want int
- wantError bool
- }{
- {
- desc: "use last by default",
- index: "",
- want: 1,
- sampleTypes: []string{"zero", "default"},
- },
- {
- desc: "honour specified default",
- index: "",
- want: 1,
- defaultSampleType: "default",
- sampleTypes: []string{"zero", "default", "two"},
- },
- {
- desc: "invalid default is ignored",
- index: "",
- want: 2,
- defaultSampleType: "non-existent",
- sampleTypes: []string{"zero", "one", "default"},
- },
- {
- desc: "index by int",
- index: "0",
- want: 0,
- sampleTypes: []string{"zero", "one", "two"},
- },
- {
- desc: "index by int ignores default",
- index: "0",
- want: 0,
- defaultSampleType: "default",
- sampleTypes: []string{"zero", "default", "two"},
- },
- {
- desc: "index by name",
- index: "two",
- want: 2,
- sampleTypes: []string{"zero", "one", "two", "three"},
- },
- {
- desc: "index by name ignores default",
- index: "zero",
- want: 0,
- defaultSampleType: "default",
- sampleTypes: []string{"zero", "default", "two"},
- },
- {
- desc: "out of bound int causes error",
- index: "100",
- wantError: true,
- sampleTypes: []string{"zero", "default"},
- },
- {
- desc: "unknown name causes error",
- index: "does not exist",
- wantError: true,
- sampleTypes: []string{"zero", "default"},
- },
- {
- desc: "'inused_{x}' recognized for legacy '{x}'",
- index: "inuse_zero",
- want: 0,
- sampleTypes: []string{"zero", "default"},
- },
- } {
- p := &Profile{
- DefaultSampleType: c.defaultSampleType,
- SampleType: []*ValueType{},
- }
- for _, st := range c.sampleTypes {
- p.SampleType = append(p.SampleType, &ValueType{Type: st, Unit: "milliseconds"})
- }
-
- got, err := p.SampleIndexByName(c.index)
-
- switch {
- case c.wantError && err == nil:
- t.Errorf("%s: error should have been returned not index=%d, err=%v", c.desc, got, err)
- case !c.wantError && err != nil:
- t.Errorf("%s: unexpected got index=%d, err=%v; wanted index=%d, err=nil", c.desc, got, err, c.want)
- case !c.wantError && got != c.want:
- t.Errorf("%s: got index=%d, want index=%d", c.desc, got, c.want)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/legacy_profile_test.go b/src/cmd/vendor/github.com/google/pprof/profile/legacy_profile_test.go
deleted file mode 100644
index 6ba0e338c9..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/legacy_profile_test.go
+++ /dev/null
@@ -1,321 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package profile
-
-import (
- "bytes"
- "fmt"
- "reflect"
- "strconv"
- "strings"
- "testing"
-)
-
-func TestLegacyProfileType(t *testing.T) {
- type testcase struct {
- sampleTypes []string
- typeSet [][]string
- want bool
- setName string
- }
-
- heap := heapzSampleTypes
- cont := contentionzSampleTypes
- testcases := []testcase{
- // True cases
- {[]string{"allocations", "size"}, heap, true, "heapzSampleTypes"},
- {[]string{"objects", "space"}, heap, true, "heapzSampleTypes"},
- {[]string{"inuse_objects", "inuse_space"}, heap, true, "heapzSampleTypes"},
- {[]string{"alloc_objects", "alloc_space"}, heap, true, "heapzSampleTypes"},
- {[]string{"alloc_objects", "alloc_space", "inuse_objects", "inuse_space"}, heap, true, "heapzSampleTypes"},
- {[]string{"contentions", "delay"}, cont, true, "contentionzSampleTypes"},
- // False cases
- {[]string{"objects"}, heap, false, "heapzSampleTypes"},
- {[]string{"objects", "unknown"}, heap, false, "heapzSampleTypes"},
- {[]string{"inuse_objects", "inuse_space", "alloc_objects", "alloc_space"}, heap, false, "heapzSampleTypes"},
- {[]string{"contentions", "delay"}, heap, false, "heapzSampleTypes"},
- {[]string{"samples", "cpu"}, heap, false, "heapzSampleTypes"},
- {[]string{"samples", "cpu"}, cont, false, "contentionzSampleTypes"},
- }
-
- for _, tc := range testcases {
- p := profileOfType(tc.sampleTypes)
- if got := isProfileType(p, tc.typeSet); got != tc.want {
- t.Error("isProfileType({"+strings.Join(tc.sampleTypes, ",")+"},", tc.setName, "), got", got, "want", tc.want)
- }
- }
-}
-
-func TestCpuParse(t *testing.T) {
- // profileString is a legacy encoded profile, represnted by words separated by ":"
- // Each sample has the form value : N : stack1..stackN
- // EOF is represented as "0:1:0"
- profileString := "1:3:100:999:100:" // sample with bogus 999 and duplicate leaf
- profileString += "1:5:200:999:200:501:502:" // sample with bogus 999 and duplicate leaf
- profileString += "1:12:300:999:300:601:602:603:604:605:606:607:608:609:" // sample with bogus 999 and duplicate leaf
- profileString += "0:1:0000" // EOF -- must use 4 bytes for the final zero
-
- p, err := cpuProfile([]byte(profileString), 1, parseString)
- if err != nil {
- t.Fatal(err)
- }
-
- if err := checkTestSample(p, []uint64{100}); err != nil {
- t.Error(err)
- }
- if err := checkTestSample(p, []uint64{200, 500, 501}); err != nil {
- t.Error(err)
- }
- if err := checkTestSample(p, []uint64{300, 600, 601, 602, 603, 604, 605, 606, 607, 608}); err != nil {
- t.Error(err)
- }
-}
-
-func parseString(b []byte) (uint64, []byte) {
- slices := bytes.SplitN(b, []byte(":"), 2)
- var value, remainder []byte
- if len(slices) > 0 {
- value = slices[0]
- }
- if len(slices) > 1 {
- remainder = slices[1]
- }
- v, _ := strconv.ParseUint(string(value), 10, 64)
- return v, remainder
-}
-
-func checkTestSample(p *Profile, want []uint64) error {
- for _, s := range p.Sample {
- got := []uint64{}
- for _, l := range s.Location {
- got = append(got, l.Address)
- }
- if reflect.DeepEqual(got, want) {
- return nil
- }
- }
- return fmt.Errorf("Could not find sample : %v", want)
-}
-
-// profileOfType creates an empty profile with only sample types set,
-// for testing purposes only.
-func profileOfType(sampleTypes []string) *Profile {
- p := new(Profile)
- p.SampleType = make([]*ValueType, len(sampleTypes))
- for i, t := range sampleTypes {
- p.SampleType[i] = new(ValueType)
- p.SampleType[i].Type = t
- }
- return p
-}
-
-func TestParseMappingEntry(t *testing.T) {
- for _, test := range []*struct {
- entry string
- want *Mapping
- }{
- {
- entry: "00400000-02e00000 r-xp 00000000 00:00 0",
- want: &Mapping{
- Start: 0x400000,
- Limit: 0x2e00000,
- },
- },
- {
- entry: "02e00000-02e8a000 r-xp 02a00000 00:00 15953927 /foo/bin",
- want: &Mapping{
- Start: 0x2e00000,
- Limit: 0x2e8a000,
- Offset: 0x2a00000,
- File: "/foo/bin",
- },
- },
- {
- entry: "02e00000-02e8a000 r-xp 000000 00:00 15953927 [vdso]",
- want: &Mapping{
- Start: 0x2e00000,
- Limit: 0x2e8a000,
- File: "[vdso]",
- },
- },
- {
- entry: " 02e00000-02e8a000: /foo/bin (@2a00000)",
- want: &Mapping{
- Start: 0x2e00000,
- Limit: 0x2e8a000,
- Offset: 0x2a00000,
- File: "/foo/bin",
- },
- },
- {
- entry: " 02e00000-02e8a000: /foo/bin (deleted)",
- want: &Mapping{
- Start: 0x2e00000,
- Limit: 0x2e8a000,
- File: "/foo/bin",
- },
- },
- {
- entry: " 02e00000-02e8a000: /foo/bin",
- want: &Mapping{
- Start: 0x2e00000,
- Limit: 0x2e8a000,
- File: "/foo/bin",
- },
- },
- {
- entry: " 02e00000-02e8a000: [vdso]",
- want: &Mapping{
- Start: 0x2e00000,
- Limit: 0x2e8a000,
- File: "[vdso]",
- },
- },
- {entry: "0xff6810563000 0xff6810565000 r-xp abc_exe 87c4d547f895cfd6a370e08dc5c5ee7bd4199d5b",
- want: &Mapping{
- Start: 0xff6810563000,
- Limit: 0xff6810565000,
- File: "abc_exe",
- BuildID: "87c4d547f895cfd6a370e08dc5c5ee7bd4199d5b",
- },
- },
- {entry: "7f5e5435e000-7f5e5455e000 --xp 00002000 00:00 1531 myprogram",
- want: &Mapping{
- Start: 0x7f5e5435e000,
- Limit: 0x7f5e5455e000,
- Offset: 0x2000,
- File: "myprogram",
- },
- },
- {entry: "7f7472710000-7f7472722000 r-xp 00000000 fc:00 790190 /usr/lib/libfantastic-1.2.so",
- want: &Mapping{
- Start: 0x7f7472710000,
- Limit: 0x7f7472722000,
- File: "/usr/lib/libfantastic-1.2.so",
- },
- },
- {entry: "7f47a542f000-7f47a5447000: /lib/libpthread-2.15.so",
- want: &Mapping{
- Start: 0x7f47a542f000,
- Limit: 0x7f47a5447000,
- File: "/lib/libpthread-2.15.so",
- },
- },
- {entry: "0x40000-0x80000 /path/to/binary (@FF00) abc123456",
- want: &Mapping{
- Start: 0x40000,
- Limit: 0x80000,
- File: "/path/to/binary",
- Offset: 0xFF00,
- BuildID: "abc123456",
- },
- },
- {entry: "W1220 15:07:15.201776 8272 logger.cc:12033] --- Memory map: ---\n" +
- "0x40000-0x80000 /path/to/binary (@FF00) abc123456",
- want: &Mapping{
- Start: 0x40000,
- Limit: 0x80000,
- File: "/path/to/binary",
- Offset: 0xFF00,
- BuildID: "abc123456",
- },
- },
- {entry: "W1220 15:07:15.201776 8272 logger.cc:12033] --- Memory map: ---\n" +
- "W1220 15:07:15.202776 8272 logger.cc:12036] 0x40000-0x80000 /path/to/binary (@FF00) abc123456",
- want: &Mapping{
- Start: 0x40000,
- Limit: 0x80000,
- File: "/path/to/binary",
- Offset: 0xFF00,
- BuildID: "abc123456",
- },
- },
- {entry: "7f5e5435e000-7f5e5455e000 ---p 00002000 00:00 1531 myprogram",
- want: nil,
- },
- } {
- got, err := ParseProcMaps(strings.NewReader(test.entry))
- if err != nil {
- t.Errorf("%s: %v", test.entry, err)
- continue
- }
- if test.want == nil {
- if got, want := len(got), 0; got != want {
- t.Errorf("%s: got %d mappings, want %d", test.entry, got, want)
- }
- continue
- }
- if got, want := len(got), 1; got != want {
- t.Errorf("%s: got %d mappings, want %d", test.entry, got, want)
- continue
- }
- if !reflect.DeepEqual(test.want, got[0]) {
- t.Errorf("%s want=%v got=%v", test.entry, test.want, got[0])
- }
- }
-}
-
-func TestParseThreadProfileWithInvalidAddress(t *testing.T) {
- profile := `
---- threadz 1 ---
-
---- Thread 7eff063d9940 (name: main/25376) stack: ---
- PC: 0x40b688 0x4d5f51 0x40be31 0x473add693e639c6f0
---- Memory map: ---
- 00400000-00fcb000: /home/rsilvera/cppbench/cppbench_server_main.unstripped
- `
- wantErr := "failed to parse as hex 64-bit number: 0x473add693e639c6f0"
- if _, gotErr := parseThread([]byte(profile)); !strings.Contains(gotErr.Error(), wantErr) {
- t.Errorf("parseThread(): got error %q, want error containing %q", gotErr, wantErr)
- }
-}
-
-func TestParseGoCount(t *testing.T) {
- for _, test := range []struct {
- in string
- typ string
- }{
- {
- in: `# ignored comment
-
-threadcreate profile: total 123
-`,
- typ: "threadcreate",
- },
- {
- in: `
-# ignored comment
-goroutine profile: total 123456
-`,
- typ: "goroutine",
- },
- {
- in: `
-sub/dir-ect_o.ry profile: total 999
-`,
- typ: "sub/dir-ect_o.ry",
- },
- } {
- t.Run(test.typ, func(t *testing.T) {
- p, err := parseGoCount([]byte(test.in))
- if err != nil {
- t.Fatalf("parseGoCount(%q) = %v", test.in, err)
- }
- if typ := p.PeriodType.Type; typ != test.typ {
- t.Fatalf("parseGoCount(%q).PeriodType.Type = %q want %q", test.in, typ, test.typ)
- }
- })
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/merge_test.go b/src/cmd/vendor/github.com/google/pprof/profile/merge_test.go
deleted file mode 100644
index 6a04db2f34..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/merge_test.go
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright 2018 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package profile
-
-import (
- "testing"
-)
-
-func TestMapMapping(t *testing.T) {
- pm := &profileMerger{
- p: &Profile{},
- mappings: make(map[mappingKey]*Mapping),
- mappingsByID: make(map[uint64]mapInfo),
- }
- for _, tc := range []struct {
- desc string
- m1 Mapping
- m2 Mapping
- wantMerged bool
- }{
- {
- desc: "same file name",
- m1: Mapping{
- ID: 1,
- File: "test-file-1",
- },
- m2: Mapping{
- ID: 2,
- File: "test-file-1",
- },
- wantMerged: true,
- },
- {
- desc: "same build ID",
- m1: Mapping{
- ID: 3,
- BuildID: "test-build-id-1",
- },
- m2: Mapping{
- ID: 4,
- BuildID: "test-build-id-1",
- },
- wantMerged: true,
- },
- {
- desc: "same fake mapping",
- m1: Mapping{
- ID: 5,
- },
- m2: Mapping{
- ID: 6,
- },
- wantMerged: true,
- },
- {
- desc: "different start",
- m1: Mapping{
- ID: 7,
- Start: 0x1000,
- Limit: 0x2000,
- BuildID: "test-build-id-2",
- },
- m2: Mapping{
- ID: 8,
- Start: 0x3000,
- Limit: 0x4000,
- BuildID: "test-build-id-2",
- },
- wantMerged: true,
- },
- {
- desc: "different file name",
- m1: Mapping{
- ID: 9,
- File: "test-file-2",
- },
- m2: Mapping{
- ID: 10,
- File: "test-file-3",
- },
- },
- {
- desc: "different build id",
- m1: Mapping{
- ID: 11,
- BuildID: "test-build-id-3",
- },
- m2: Mapping{
- ID: 12,
- BuildID: "test-build-id-4",
- },
- },
- {
- desc: "different size",
- m1: Mapping{
- ID: 13,
- Start: 0x1000,
- Limit: 0x3000,
- BuildID: "test-build-id-5",
- },
- m2: Mapping{
- ID: 14,
- Start: 0x1000,
- Limit: 0x5000,
- BuildID: "test-build-id-5",
- },
- },
- {
- desc: "different offset",
- m1: Mapping{
- ID: 15,
- Offset: 1,
- BuildID: "test-build-id-6",
- },
- m2: Mapping{
- ID: 16,
- Offset: 2,
- BuildID: "test-build-id-6",
- },
- },
- } {
- t.Run(tc.desc, func(t *testing.T) {
- info1 := pm.mapMapping(&tc.m1)
- info2 := pm.mapMapping(&tc.m2)
- gotM1, gotM2 := *info1.m, *info2.m
-
- wantM1 := tc.m1
- wantM1.ID = gotM1.ID
- if gotM1 != wantM1 {
- t.Errorf("first mapping got %v, want %v", gotM1, wantM1)
- }
-
- if tc.wantMerged {
- if gotM1 != gotM2 {
- t.Errorf("first mapping got %v, second mapping got %v, want equal", gotM1, gotM2)
- }
- if info1.offset != 0 {
- t.Errorf("first mapping info got offset %d, want 0", info1.offset)
- }
- if wantOffset := int64(tc.m1.Start) - int64(tc.m2.Start); wantOffset != info2.offset {
- t.Errorf("second mapping info got offset %d, want %d", info2.offset, wantOffset)
- }
- } else {
- if gotM1.ID == gotM2.ID {
- t.Errorf("first mapping got %v, second mapping got %v, want different IDs", gotM1, gotM2)
- }
- wantM2 := tc.m2
- wantM2.ID = gotM2.ID
- if gotM2 != wantM2 {
- t.Errorf("second mapping got %v, want %v", gotM2, wantM2)
- }
- }
- })
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/profile_test.go b/src/cmd/vendor/github.com/google/pprof/profile/profile_test.go
deleted file mode 100644
index 43db1806bf..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/profile_test.go
+++ /dev/null
@@ -1,1381 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package profile
-
-import (
- "bytes"
- "fmt"
- "io/ioutil"
- "path/filepath"
- "reflect"
- "strings"
- "sync"
- "testing"
-
- "github.com/google/pprof/internal/proftest"
-)
-
-func TestParse(t *testing.T) {
- const path = "testdata/"
-
- for _, source := range []string{
- "go.crc32.cpu",
- "go.godoc.thread",
- "gobench.cpu",
- "gobench.heap",
- "cppbench.cpu",
- "cppbench.heap",
- "cppbench.contention",
- "cppbench.growth",
- "cppbench.thread",
- "cppbench.thread.all",
- "cppbench.thread.none",
- "java.cpu",
- "java.heap",
- "java.contention",
- } {
- inbytes, err := ioutil.ReadFile(filepath.Join(path, source))
- if err != nil {
- t.Fatal(err)
- }
- p, err := Parse(bytes.NewBuffer(inbytes))
- if err != nil {
- t.Fatalf("%s: %s", source, err)
- }
-
- js := p.String()
- goldFilename := path + source + ".string"
- gold, err := ioutil.ReadFile(goldFilename)
- if err != nil {
- t.Fatalf("%s: %v", source, err)
- }
-
- if js != string(gold) {
- t.Errorf("diff %s %s", source, goldFilename)
- d, err := proftest.Diff(gold, []byte(js))
- if err != nil {
- t.Fatalf("%s: %v", source, err)
- }
- t.Error(source + "\n" + string(d) + "\n" + "new profile at:\n" + leaveTempfile([]byte(js)))
- }
-
- // Reencode and decode.
- var bw bytes.Buffer
- if err := p.Write(&bw); err != nil {
- t.Fatalf("%s: %v", source, err)
- }
- if p, err = Parse(&bw); err != nil {
- t.Fatalf("%s: %v", source, err)
- }
- js2 := p.String()
- if js2 != string(gold) {
- d, err := proftest.Diff(gold, []byte(js2))
- if err != nil {
- t.Fatalf("%s: %v", source, err)
- }
- t.Error(source + "\n" + string(d) + "\n" + "gold:\n" + goldFilename +
- "\nnew profile at:\n" + leaveTempfile([]byte(js)))
- }
- }
-}
-
-func TestParseError(t *testing.T) {
- testcases := []string{
- "",
- "garbage text",
- "\x1f\x8b", // truncated gzip header
- "\x1f\x8b\x08\x08\xbe\xe9\x20\x58\x00\x03\x65\x6d\x70\x74\x79\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", // empty gzipped file
- }
-
- for i, input := range testcases {
- _, err := Parse(strings.NewReader(input))
- if err == nil {
- t.Errorf("got nil, want error for input #%d", i)
- }
- }
-}
-
-func TestParseConcatentated(t *testing.T) {
- prof := testProfile1.Copy()
- // Write the profile twice to buffer to create concatented profile.
- var buf bytes.Buffer
- prof.Write(&buf)
- prof.Write(&buf)
- _, err := Parse(&buf)
- if err == nil {
- t.Fatalf("got nil, want error")
- }
- if got, want := err.Error(), "parsing profile: concatenated profiles detected"; want != got {
- t.Fatalf("got error %q, want error %q", got, want)
- }
-}
-
-func TestCheckValid(t *testing.T) {
- const path = "testdata/java.cpu"
-
- inbytes, err := ioutil.ReadFile(path)
- if err != nil {
- t.Fatalf("failed to read profile file %q: %v", path, err)
- }
- p, err := Parse(bytes.NewBuffer(inbytes))
- if err != nil {
- t.Fatalf("failed to parse profile %q: %s", path, err)
- }
-
- for _, tc := range []struct {
- mutateFn func(*Profile)
- wantErr string
- }{
- {
- mutateFn: func(p *Profile) { p.SampleType = nil },
- wantErr: "missing sample type information",
- },
- {
- mutateFn: func(p *Profile) { p.Sample[0] = nil },
- wantErr: "profile has nil sample",
- },
- {
- mutateFn: func(p *Profile) { p.Sample[0].Value = append(p.Sample[0].Value, 0) },
- wantErr: "sample has 3 values vs. 2 types",
- },
- {
- mutateFn: func(p *Profile) { p.Sample[0].Location[0] = nil },
- wantErr: "sample has nil location",
- },
- {
- mutateFn: func(p *Profile) { p.Location[0] = nil },
- wantErr: "profile has nil location",
- },
- {
- mutateFn: func(p *Profile) { p.Mapping = append(p.Mapping, nil) },
- wantErr: "profile has nil mapping",
- },
- {
- mutateFn: func(p *Profile) { p.Function[0] = nil },
- wantErr: "profile has nil function",
- },
- } {
- t.Run(tc.wantErr, func(t *testing.T) {
- p := p.Copy()
- tc.mutateFn(p)
- if err := p.CheckValid(); err == nil {
- t.Errorf("CheckValid(): got no error, want error %q", tc.wantErr)
- } else if !strings.Contains(err.Error(), tc.wantErr) {
- t.Errorf("CheckValid(): got error %v, want error %q", err, tc.wantErr)
- }
- })
- }
-}
-
-// leaveTempfile leaves |b| in a temporary file on disk and returns the
-// temp filename. This is useful to recover a profile when the test
-// fails.
-func leaveTempfile(b []byte) string {
- f1, err := ioutil.TempFile("", "profile_test")
- if err != nil {
- panic(err)
- }
- if _, err := f1.Write(b); err != nil {
- panic(err)
- }
- return f1.Name()
-}
-
-const mainBinary = "/bin/main"
-
-var cpuM = []*Mapping{
- {
- ID: 1,
- Start: 0x10000,
- Limit: 0x40000,
- File: mainBinary,
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- {
- ID: 2,
- Start: 0x1000,
- Limit: 0x4000,
- File: "/lib/lib.so",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- {
- ID: 3,
- Start: 0x4000,
- Limit: 0x5000,
- File: "/lib/lib2_c.so.6",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- {
- ID: 4,
- Start: 0x5000,
- Limit: 0x9000,
- File: "/lib/lib.so_6 (deleted)",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
-}
-
-var cpuF = []*Function{
- {ID: 1, Name: "main", SystemName: "main", Filename: "main.c"},
- {ID: 2, Name: "foo", SystemName: "foo", Filename: "foo.c"},
- {ID: 3, Name: "foo_caller", SystemName: "foo_caller", Filename: "foo.c"},
-}
-
-var cpuL = []*Location{
- {
- ID: 1000,
- Mapping: cpuM[1],
- Address: 0x1000,
- Line: []Line{
- {Function: cpuF[0], Line: 1},
- },
- },
- {
- ID: 2000,
- Mapping: cpuM[0],
- Address: 0x2000,
- Line: []Line{
- {Function: cpuF[1], Line: 2},
- {Function: cpuF[2], Line: 1},
- },
- },
- {
- ID: 3000,
- Mapping: cpuM[0],
- Address: 0x3000,
- Line: []Line{
- {Function: cpuF[1], Line: 2},
- {Function: cpuF[2], Line: 1},
- },
- },
- {
- ID: 3001,
- Mapping: cpuM[0],
- Address: 0x3001,
- Line: []Line{
- {Function: cpuF[2], Line: 2},
- },
- },
- {
- ID: 3002,
- Mapping: cpuM[0],
- Address: 0x3002,
- Line: []Line{
- {Function: cpuF[2], Line: 3},
- },
- },
-}
-
-var testProfile1 = &Profile{
- TimeNanos: 10000,
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000, 1000},
- Label: map[string][]string{
- "key1": {"tag1"},
- "key2": {"tag1"},
- },
- },
- {
- Location: []*Location{cpuL[1], cpuL[0]},
- Value: []int64{100, 100},
- Label: map[string][]string{
- "key1": {"tag2"},
- "key3": {"tag2"},
- },
- },
- {
- Location: []*Location{cpuL[2], cpuL[0]},
- Value: []int64{10, 10},
- Label: map[string][]string{
- "key1": {"tag3"},
- "key2": {"tag2"},
- },
- },
- {
- Location: []*Location{cpuL[3], cpuL[0]},
- Value: []int64{10000, 10000},
- Label: map[string][]string{
- "key1": {"tag4"},
- "key2": {"tag1"},
- },
- },
- {
- Location: []*Location{cpuL[4], cpuL[0]},
- Value: []int64{1, 1},
- Label: map[string][]string{
- "key1": {"tag4"},
- "key2": {"tag1"},
- },
- },
- },
- Location: cpuL,
- Function: cpuF,
- Mapping: cpuM,
-}
-
-var testProfile1NoMapping = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000, 1000},
- Label: map[string][]string{
- "key1": {"tag1"},
- "key2": {"tag1"},
- },
- },
- {
- Location: []*Location{cpuL[1], cpuL[0]},
- Value: []int64{100, 100},
- Label: map[string][]string{
- "key1": {"tag2"},
- "key3": {"tag2"},
- },
- },
- {
- Location: []*Location{cpuL[2], cpuL[0]},
- Value: []int64{10, 10},
- Label: map[string][]string{
- "key1": {"tag3"},
- "key2": {"tag2"},
- },
- },
- {
- Location: []*Location{cpuL[3], cpuL[0]},
- Value: []int64{10000, 10000},
- Label: map[string][]string{
- "key1": {"tag4"},
- "key2": {"tag1"},
- },
- },
- {
- Location: []*Location{cpuL[4], cpuL[0]},
- Value: []int64{1, 1},
- Label: map[string][]string{
- "key1": {"tag4"},
- "key2": {"tag1"},
- },
- },
- },
- Location: cpuL,
- Function: cpuF,
-}
-
-var testProfile2 = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{70, 1000},
- Label: map[string][]string{
- "key1": {"tag1"},
- "key2": {"tag1"},
- },
- },
- {
- Location: []*Location{cpuL[1], cpuL[0]},
- Value: []int64{60, 100},
- Label: map[string][]string{
- "key1": {"tag2"},
- "key3": {"tag2"},
- },
- },
- {
- Location: []*Location{cpuL[2], cpuL[0]},
- Value: []int64{50, 10},
- Label: map[string][]string{
- "key1": {"tag3"},
- "key2": {"tag2"},
- },
- },
- {
- Location: []*Location{cpuL[3], cpuL[0]},
- Value: []int64{40, 10000},
- Label: map[string][]string{
- "key1": {"tag4"},
- "key2": {"tag1"},
- },
- },
- {
- Location: []*Location{cpuL[4], cpuL[0]},
- Value: []int64{1, 1},
- Label: map[string][]string{
- "key1": {"tag4"},
- "key2": {"tag1"},
- },
- },
- },
- Location: cpuL,
- Function: cpuF,
- Mapping: cpuM,
-}
-
-var testProfile3 = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key1": {"tag1"},
- "key2": {"tag1"},
- },
- },
- },
- Location: cpuL,
- Function: cpuF,
- Mapping: cpuM,
-}
-
-var testProfile4 = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- NumLabel: map[string][]int64{
- "key1": {10},
- "key2": {30},
- },
- NumUnit: map[string][]string{
- "key1": {"bytes"},
- "key2": {"bytes"},
- },
- },
- },
- Location: cpuL,
- Function: cpuF,
- Mapping: cpuM,
-}
-
-var testProfile5 = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- NumLabel: map[string][]int64{
- "key1": {10},
- "key2": {30},
- },
- NumUnit: map[string][]string{
- "key1": {"bytes"},
- "key2": {"bytes"},
- },
- },
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- NumLabel: map[string][]int64{
- "key1": {10},
- "key2": {30},
- },
- NumUnit: map[string][]string{
- "key1": {"kilobytes"},
- "key2": {"kilobytes"},
- },
- },
- },
- Location: cpuL,
- Function: cpuF,
- Mapping: cpuM,
-}
-
-var aggTests = map[string]aggTest{
- "precise": {true, true, true, true, 5},
- "fileline": {false, true, true, true, 4},
- "inline_function": {false, true, false, true, 3},
- "function": {false, true, false, false, 2},
-}
-
-type aggTest struct {
- precise, function, fileline, inlineFrame bool
- rows int
-}
-
-const totalSamples = int64(11111)
-
-func TestAggregation(t *testing.T) {
- prof := testProfile1.Copy()
- for _, resolution := range []string{"precise", "fileline", "inline_function", "function"} {
- a := aggTests[resolution]
- if !a.precise {
- if err := prof.Aggregate(a.inlineFrame, a.function, a.fileline, a.fileline, false); err != nil {
- t.Error("aggregating to " + resolution + ":" + err.Error())
- }
- }
- if err := checkAggregation(prof, &a); err != nil {
- t.Error("failed aggregation to " + resolution + ": " + err.Error())
- }
- }
-}
-
-// checkAggregation verifies that the profile remained consistent
-// with its aggregation.
-func checkAggregation(prof *Profile, a *aggTest) error {
- // Check that the total number of samples for the rows was preserved.
- total := int64(0)
-
- samples := make(map[string]bool)
- for _, sample := range prof.Sample {
- tb := locationHash(sample)
- samples[tb] = true
- total += sample.Value[0]
- }
-
- if total != totalSamples {
- return fmt.Errorf("sample total %d, want %d", total, totalSamples)
- }
-
- // Check the number of unique sample locations
- if a.rows != len(samples) {
- return fmt.Errorf("number of samples %d, want %d", len(samples), a.rows)
- }
-
- // Check that all mappings have the right detail flags.
- for _, m := range prof.Mapping {
- if m.HasFunctions != a.function {
- return fmt.Errorf("unexpected mapping.HasFunctions %v, want %v", m.HasFunctions, a.function)
- }
- if m.HasFilenames != a.fileline {
- return fmt.Errorf("unexpected mapping.HasFilenames %v, want %v", m.HasFilenames, a.fileline)
- }
- if m.HasLineNumbers != a.fileline {
- return fmt.Errorf("unexpected mapping.HasLineNumbers %v, want %v", m.HasLineNumbers, a.fileline)
- }
- if m.HasInlineFrames != a.inlineFrame {
- return fmt.Errorf("unexpected mapping.HasInlineFrames %v, want %v", m.HasInlineFrames, a.inlineFrame)
- }
- }
-
- // Check that aggregation has removed finer resolution data.
- for _, l := range prof.Location {
- if !a.inlineFrame && len(l.Line) > 1 {
- return fmt.Errorf("found %d lines on location %d, want 1", len(l.Line), l.ID)
- }
-
- for _, ln := range l.Line {
- if !a.fileline && (ln.Function.Filename != "" || ln.Line != 0) {
- return fmt.Errorf("found line %s:%d on location %d, want :0",
- ln.Function.Filename, ln.Line, l.ID)
- }
- if !a.function && (ln.Function.Name != "") {
- return fmt.Errorf(`found file %s location %d, want ""`,
- ln.Function.Name, l.ID)
- }
- }
- }
-
- return nil
-}
-
-// Test merge leaves the main binary in place.
-func TestMergeMain(t *testing.T) {
- prof := testProfile1.Copy()
- p1, err := Merge([]*Profile{prof})
- if err != nil {
- t.Fatalf("merge error: %v", err)
- }
- if cpuM[0].File != p1.Mapping[0].File {
- t.Errorf("want Mapping[0]=%s got %s", cpuM[0].File, p1.Mapping[0].File)
- }
-}
-
-func TestMerge(t *testing.T) {
- // Aggregate a profile with itself and once again with a factor of
- // -2. Should end up with an empty profile (all samples for a
- // location should add up to 0).
-
- prof := testProfile1.Copy()
- prof.Comments = []string{"comment1"}
- p1, err := Merge([]*Profile{prof, prof})
- if err != nil {
- t.Errorf("merge error: %v", err)
- }
- prof.Scale(-2)
- prof, err = Merge([]*Profile{p1, prof})
- if err != nil {
- t.Errorf("merge error: %v", err)
- }
- if got, want := len(prof.Comments), 1; got != want {
- t.Errorf("len(prof.Comments) = %d, want %d", got, want)
- }
-
- // Use aggregation to merge locations at function granularity.
- if err := prof.Aggregate(false, true, false, false, false); err != nil {
- t.Errorf("aggregating after merge: %v", err)
- }
-
- samples := make(map[string]int64)
- for _, s := range prof.Sample {
- tb := locationHash(s)
- samples[tb] = samples[tb] + s.Value[0]
- }
- for s, v := range samples {
- if v != 0 {
- t.Errorf("nonzero value for sample %s: %d", s, v)
- }
- }
-}
-
-func TestMergeAll(t *testing.T) {
- // Aggregate 10 copies of the profile.
- profs := make([]*Profile, 10)
- for i := 0; i < 10; i++ {
- profs[i] = testProfile1.Copy()
- }
- prof, err := Merge(profs)
- if err != nil {
- t.Errorf("merge error: %v", err)
- }
- samples := make(map[string]int64)
- for _, s := range prof.Sample {
- tb := locationHash(s)
- samples[tb] = samples[tb] + s.Value[0]
- }
- for _, s := range testProfile1.Sample {
- tb := locationHash(s)
- if samples[tb] != s.Value[0]*10 {
- t.Errorf("merge got wrong value at %s : %d instead of %d", tb, samples[tb], s.Value[0]*10)
- }
- }
-}
-
-func TestIsFoldedMerge(t *testing.T) {
- testProfile1Folded := testProfile1.Copy()
- testProfile1Folded.Location[0].IsFolded = true
- testProfile1Folded.Location[1].IsFolded = true
-
- for _, tc := range []struct {
- name string
- profs []*Profile
- wantLocationLen int
- }{
- {
- name: "folded and non-folded locations not merged",
- profs: []*Profile{testProfile1.Copy(), testProfile1Folded.Copy()},
- wantLocationLen: 7,
- },
- {
- name: "identical folded locations are merged",
- profs: []*Profile{testProfile1Folded.Copy(), testProfile1Folded.Copy()},
- wantLocationLen: 5,
- },
- } {
- t.Run(tc.name, func(t *testing.T) {
- prof, err := Merge(tc.profs)
- if err != nil {
- t.Fatalf("merge error: %v", err)
- }
- if got, want := len(prof.Location), tc.wantLocationLen; got != want {
- t.Fatalf("got %d locations, want %d locations", got, want)
- }
- })
- }
-}
-
-func TestNumLabelMerge(t *testing.T) {
- for _, tc := range []struct {
- name string
- profs []*Profile
- wantNumLabels []map[string][]int64
- wantNumUnits []map[string][]string
- }{
- {
- name: "different label units not merged",
- profs: []*Profile{testProfile4.Copy(), testProfile5.Copy()},
- wantNumLabels: []map[string][]int64{
- {
- "key1": {10},
- "key2": {30},
- },
- {
- "key1": {10},
- "key2": {30},
- },
- },
- wantNumUnits: []map[string][]string{
- {
- "key1": {"bytes"},
- "key2": {"bytes"},
- },
- {
- "key1": {"kilobytes"},
- "key2": {"kilobytes"},
- },
- },
- },
- } {
- t.Run(tc.name, func(t *testing.T) {
- prof, err := Merge(tc.profs)
- if err != nil {
- t.Errorf("merge error: %v", err)
- }
-
- if want, got := len(tc.wantNumLabels), len(prof.Sample); want != got {
- t.Fatalf("got %d samples, want %d samples", got, want)
- }
- for i, wantLabels := range tc.wantNumLabels {
- numLabels := prof.Sample[i].NumLabel
- if !reflect.DeepEqual(wantLabels, numLabels) {
- t.Errorf("got numeric labels %v, want %v", numLabels, wantLabels)
- }
-
- wantUnits := tc.wantNumUnits[i]
- numUnits := prof.Sample[i].NumUnit
- if !reflect.DeepEqual(wantUnits, numUnits) {
- t.Errorf("got numeric labels %v, want %v", numUnits, wantUnits)
- }
- }
- })
- }
-}
-
-func TestEmptyMappingMerge(t *testing.T) {
- // Aggregate a profile with itself and once again with a factor of
- // -2. Should end up with an empty profile (all samples for a
- // location should add up to 0).
-
- prof1 := testProfile1.Copy()
- prof2 := testProfile1NoMapping.Copy()
- p1, err := Merge([]*Profile{prof2, prof1})
- if err != nil {
- t.Errorf("merge error: %v", err)
- }
- prof2.Scale(-2)
- prof, err := Merge([]*Profile{p1, prof2})
- if err != nil {
- t.Errorf("merge error: %v", err)
- }
-
- // Use aggregation to merge locations at function granularity.
- if err := prof.Aggregate(false, true, false, false, false); err != nil {
- t.Errorf("aggregating after merge: %v", err)
- }
-
- samples := make(map[string]int64)
- for _, s := range prof.Sample {
- tb := locationHash(s)
- samples[tb] = samples[tb] + s.Value[0]
- }
- for s, v := range samples {
- if v != 0 {
- t.Errorf("nonzero value for sample %s: %d", s, v)
- }
- }
-}
-
-func TestNormalizeBySameProfile(t *testing.T) {
- pb := testProfile1.Copy()
- p := testProfile1.Copy()
-
- if err := p.Normalize(pb); err != nil {
- t.Fatal(err)
- }
-
- for i, s := range p.Sample {
- for j, v := range s.Value {
- expectedSampleValue := testProfile1.Sample[i].Value[j]
- if v != expectedSampleValue {
- t.Errorf("For sample %d, value %d want %d got %d", i, j, expectedSampleValue, v)
- }
- }
- }
-}
-
-func TestNormalizeByDifferentProfile(t *testing.T) {
- p := testProfile1.Copy()
- pb := testProfile2.Copy()
-
- if err := p.Normalize(pb); err != nil {
- t.Fatal(err)
- }
-
- expectedSampleValues := [][]int64{
- {19, 1000},
- {1, 100},
- {0, 10},
- {198, 10000},
- {0, 1},
- }
-
- for i, s := range p.Sample {
- for j, v := range s.Value {
- if v != expectedSampleValues[i][j] {
- t.Errorf("For sample %d, value %d want %d got %d", i, j, expectedSampleValues[i][j], v)
- }
- }
- }
-}
-
-func TestNormalizeByMultipleOfSameProfile(t *testing.T) {
- pb := testProfile1.Copy()
- for i, s := range pb.Sample {
- for j, v := range s.Value {
- pb.Sample[i].Value[j] = 10 * v
- }
- }
-
- p := testProfile1.Copy()
-
- err := p.Normalize(pb)
- if err != nil {
- t.Fatal(err)
- }
-
- for i, s := range p.Sample {
- for j, v := range s.Value {
- expectedSampleValue := 10 * testProfile1.Sample[i].Value[j]
- if v != expectedSampleValue {
- t.Errorf("For sample %d, value %d, want %d got %d", i, j, expectedSampleValue, v)
- }
- }
- }
-}
-
-func TestNormalizeIncompatibleProfiles(t *testing.T) {
- p := testProfile1.Copy()
- pb := testProfile3.Copy()
-
- if err := p.Normalize(pb); err == nil {
- t.Errorf("Expected an error")
- }
-}
-
-// locationHash constructs a string to use as a hashkey for a sample, based on its locations
-func locationHash(s *Sample) string {
- var tb string
- for _, l := range s.Location {
- for _, ln := range l.Line {
- tb = tb + fmt.Sprintf("%s:%d@%d ", ln.Function.Name, ln.Line, l.Address)
- }
- }
- return tb
-}
-
-func TestHasLabel(t *testing.T) {
- var testcases = []struct {
- desc string
- labels map[string][]string
- key string
- value string
- wantHasLabel bool
- }{
- {
- desc: "empty label does not have label",
- labels: map[string][]string{},
- key: "key",
- value: "value",
- wantHasLabel: false,
- },
- {
- desc: "label with one key and value has label",
- labels: map[string][]string{"key": {"value"}},
- key: "key",
- value: "value",
- wantHasLabel: true,
- },
- {
- desc: "label with one key and value does not have label",
- labels: map[string][]string{"key": {"value"}},
- key: "key1",
- value: "value1",
- wantHasLabel: false,
- },
- {
- desc: "label with many keys and values has label",
- labels: map[string][]string{
- "key1": {"value2", "value1"},
- "key2": {"value1", "value2", "value2"},
- "key3": {"value1", "value2", "value2"},
- },
- key: "key1",
- value: "value1",
- wantHasLabel: true,
- },
- {
- desc: "label with many keys and values does not have label",
- labels: map[string][]string{
- "key1": {"value2", "value1"},
- "key2": {"value1", "value2", "value2"},
- "key3": {"value1", "value2", "value2"},
- },
- key: "key5",
- value: "value5",
- wantHasLabel: false,
- },
- }
-
- for _, tc := range testcases {
- t.Run(tc.desc, func(t *testing.T) {
- sample := &Sample{
- Label: tc.labels,
- }
- if gotHasLabel := sample.HasLabel(tc.key, tc.value); gotHasLabel != tc.wantHasLabel {
- t.Errorf("sample.HasLabel(%q, %q) got %v, want %v", tc.key, tc.value, gotHasLabel, tc.wantHasLabel)
- }
- })
- }
-}
-
-func TestDiffBaseSample(t *testing.T) {
- var testcases = []struct {
- desc string
- labels map[string][]string
- wantDiffBaseSample bool
- }{
- {
- desc: "empty label does not have label",
- labels: map[string][]string{},
- wantDiffBaseSample: false,
- },
- {
- desc: "label with one key and value, including diff base label",
- labels: map[string][]string{"pprof::base": {"true"}},
- wantDiffBaseSample: true,
- },
- {
- desc: "label with one key and value, not including diff base label",
- labels: map[string][]string{"key": {"value"}},
- wantDiffBaseSample: false,
- },
- {
- desc: "label with many keys and values, including diff base label",
- labels: map[string][]string{
- "pprof::base": {"value2", "true"},
- "key2": {"true", "value2", "value2"},
- "key3": {"true", "value2", "value2"},
- },
- wantDiffBaseSample: true,
- },
- {
- desc: "label with many keys and values, not including diff base label",
- labels: map[string][]string{
- "key1": {"value2", "value1"},
- "key2": {"value1", "value2", "value2"},
- "key3": {"value1", "value2", "value2"},
- },
- wantDiffBaseSample: false,
- },
- }
-
- for _, tc := range testcases {
- t.Run(tc.desc, func(t *testing.T) {
- sample := &Sample{
- Label: tc.labels,
- }
- if gotHasLabel := sample.DiffBaseSample(); gotHasLabel != tc.wantDiffBaseSample {
- t.Errorf("sample.DiffBaseSample() got %v, want %v", gotHasLabel, tc.wantDiffBaseSample)
- }
- })
- }
-}
-
-func TestRemove(t *testing.T) {
- var testcases = []struct {
- desc string
- samples []*Sample
- removeKey string
- wantLabels []map[string][]string
- }{
- {
- desc: "some samples have label already",
- samples: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- },
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key1": {"value1", "value2", "value3"},
- "key2": {"value1"},
- },
- },
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key1": {"value2"},
- },
- },
- },
- removeKey: "key1",
- wantLabels: []map[string][]string{
- {},
- {"key2": {"value1"}},
- {},
- },
- },
- }
-
- for _, tc := range testcases {
- t.Run(tc.desc, func(t *testing.T) {
- profile := testProfile1.Copy()
- profile.Sample = tc.samples
- profile.RemoveLabel(tc.removeKey)
- if got, want := len(profile.Sample), len(tc.wantLabels); got != want {
- t.Fatalf("got %v samples, want %v samples", got, want)
- }
- for i, sample := range profile.Sample {
- wantLabels := tc.wantLabels[i]
- if got, want := len(sample.Label), len(wantLabels); got != want {
- t.Errorf("got %v label keys for sample %v, want %v", got, i, want)
- continue
- }
- for wantKey, wantValues := range wantLabels {
- if gotValues, ok := sample.Label[wantKey]; ok {
- if !reflect.DeepEqual(gotValues, wantValues) {
- t.Errorf("for key %s, got values %v, want values %v", wantKey, gotValues, wantValues)
- }
- } else {
- t.Errorf("for key %s got no values, want %v", wantKey, wantValues)
- }
- }
- }
- })
- }
-}
-
-func TestSetLabel(t *testing.T) {
- var testcases = []struct {
- desc string
- samples []*Sample
- setKey string
- setVal []string
- wantLabels []map[string][]string
- }{
- {
- desc: "some samples have label already",
- samples: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- },
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key1": {"value1", "value2", "value3"},
- "key2": {"value1"},
- },
- },
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key1": {"value2"},
- },
- },
- },
- setKey: "key1",
- setVal: []string{"value1"},
- wantLabels: []map[string][]string{
- {"key1": {"value1"}},
- {"key1": {"value1"}, "key2": {"value1"}},
- {"key1": {"value1"}},
- },
- },
- {
- desc: "no samples have labels",
- samples: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- },
- },
- setKey: "key1",
- setVal: []string{"value1"},
- wantLabels: []map[string][]string{
- {"key1": {"value1"}},
- },
- },
- {
- desc: "all samples have some labels, but not key being added",
- samples: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key2": {"value2"},
- },
- },
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key3": {"value3"},
- },
- },
- },
- setKey: "key1",
- setVal: []string{"value1"},
- wantLabels: []map[string][]string{
- {"key1": {"value1"}, "key2": {"value2"}},
- {"key1": {"value1"}, "key3": {"value3"}},
- },
- },
- {
- desc: "all samples have key being added",
- samples: []*Sample{
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key1": {"value1"},
- },
- },
- {
- Location: []*Location{cpuL[0]},
- Value: []int64{1000},
- Label: map[string][]string{
- "key1": {"value1"},
- },
- },
- },
- setKey: "key1",
- setVal: []string{"value1"},
- wantLabels: []map[string][]string{
- {"key1": {"value1"}},
- {"key1": {"value1"}},
- },
- },
- }
-
- for _, tc := range testcases {
- t.Run(tc.desc, func(t *testing.T) {
- profile := testProfile1.Copy()
- profile.Sample = tc.samples
- profile.SetLabel(tc.setKey, tc.setVal)
- if got, want := len(profile.Sample), len(tc.wantLabels); got != want {
- t.Fatalf("got %v samples, want %v samples", got, want)
- }
- for i, sample := range profile.Sample {
- wantLabels := tc.wantLabels[i]
- if got, want := len(sample.Label), len(wantLabels); got != want {
- t.Errorf("got %v label keys for sample %v, want %v", got, i, want)
- continue
- }
- for wantKey, wantValues := range wantLabels {
- if gotValues, ok := sample.Label[wantKey]; ok {
- if !reflect.DeepEqual(gotValues, wantValues) {
- t.Errorf("for key %s, got values %v, want values %v", wantKey, gotValues, wantValues)
- }
- } else {
- t.Errorf("for key %s got no values, want %v", wantKey, wantValues)
- }
- }
- }
- })
- }
-}
-
-func TestNumLabelUnits(t *testing.T) {
- var tagFilterTests = []struct {
- desc string
- tagVals []map[string][]int64
- tagUnits []map[string][]string
- wantUnits map[string]string
- wantIgnoredUnits map[string][]string
- }{
- {
- "One sample, multiple keys, different specified units",
- []map[string][]int64{{"key1": {131072}, "key2": {128}}},
- []map[string][]string{{"key1": {"bytes"}, "key2": {"kilobytes"}}},
- map[string]string{"key1": "bytes", "key2": "kilobytes"},
- map[string][]string{},
- },
- {
- "One sample, one key with one value, unit specified",
- []map[string][]int64{{"key1": {8}}},
- []map[string][]string{{"key1": {"bytes"}}},
- map[string]string{"key1": "bytes"},
- map[string][]string{},
- },
- {
- "One sample, one key with one value, empty unit specified",
- []map[string][]int64{{"key1": {8}}},
- []map[string][]string{{"key1": {""}}},
- map[string]string{"key1": "key1"},
- map[string][]string{},
- },
- {
- "Key bytes, unit not specified",
- []map[string][]int64{{"bytes": {8}}},
- []map[string][]string{nil},
- map[string]string{"bytes": "bytes"},
- map[string][]string{},
- },
- {
- "One sample, one key with one value, unit not specified",
- []map[string][]int64{{"kilobytes": {8}}},
- []map[string][]string{nil},
- map[string]string{"kilobytes": "kilobytes"},
- map[string][]string{},
- },
- {
- "Key request, unit not specified",
- []map[string][]int64{{"request": {8}}},
- []map[string][]string{nil},
- map[string]string{"request": "bytes"},
- map[string][]string{},
- },
- {
- "Key alignment, unit not specified",
- []map[string][]int64{{"alignment": {8}}},
- []map[string][]string{nil},
- map[string]string{"alignment": "bytes"},
- map[string][]string{},
- },
- {
- "One sample, one key with multiple values and two different units",
- []map[string][]int64{{"key1": {8, 8}}},
- []map[string][]string{{"key1": {"bytes", "kilobytes"}}},
- map[string]string{"key1": "bytes"},
- map[string][]string{"key1": {"kilobytes"}},
- },
- {
- "One sample, one key with multiple values and three different units",
- []map[string][]int64{{"key1": {8, 8}}},
- []map[string][]string{{"key1": {"bytes", "megabytes", "kilobytes"}}},
- map[string]string{"key1": "bytes"},
- map[string][]string{"key1": {"kilobytes", "megabytes"}},
- },
- {
- "Two samples, one key, different units specified",
- []map[string][]int64{{"key1": {8}}, {"key1": {8}}},
- []map[string][]string{{"key1": {"bytes"}}, {"key1": {"kilobytes"}}},
- map[string]string{"key1": "bytes"},
- map[string][]string{"key1": {"kilobytes"}},
- },
- {
- "Keys alignment, request, and bytes have units specified",
- []map[string][]int64{{
- "alignment": {8},
- "request": {8},
- "bytes": {8},
- }},
- []map[string][]string{{
- "alignment": {"seconds"},
- "request": {"minutes"},
- "bytes": {"hours"},
- }},
- map[string]string{
- "alignment": "seconds",
- "request": "minutes",
- "bytes": "hours",
- },
- map[string][]string{},
- },
- }
- for _, test := range tagFilterTests {
- p := &Profile{Sample: make([]*Sample, len(test.tagVals))}
- for i, numLabel := range test.tagVals {
- s := Sample{
- NumLabel: numLabel,
- NumUnit: test.tagUnits[i],
- }
- p.Sample[i] = &s
- }
- units, ignoredUnits := p.NumLabelUnits()
- if !reflect.DeepEqual(test.wantUnits, units) {
- t.Errorf("%s: got %v units, want %v", test.desc, units, test.wantUnits)
- }
- if !reflect.DeepEqual(test.wantIgnoredUnits, ignoredUnits) {
- t.Errorf("%s: got %v ignored units, want %v", test.desc, ignoredUnits, test.wantIgnoredUnits)
- }
- }
-}
-
-func TestSetMain(t *testing.T) {
- testProfile1.massageMappings()
- if testProfile1.Mapping[0].File != mainBinary {
- t.Errorf("got %s for main", testProfile1.Mapping[0].File)
- }
-}
-
-// parallel runs n copies of fn in parallel.
-func parallel(n int, fn func()) {
- var wg sync.WaitGroup
- wg.Add(n)
- for i := 0; i < n; i++ {
- go func() {
- fn()
- wg.Done()
- }()
- }
- wg.Wait()
-}
-
-func TestThreadSafety(t *testing.T) {
- src := testProfile1.Copy()
- parallel(4, func() { src.Copy() })
- parallel(4, func() {
- var b bytes.Buffer
- src.WriteUncompressed(&b)
- })
- parallel(4, func() {
- var b bytes.Buffer
- src.Write(&b)
- })
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/proto_test.go b/src/cmd/vendor/github.com/google/pprof/profile/proto_test.go
deleted file mode 100644
index 38b58c586d..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/proto_test.go
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package profile
-
-import (
- "bytes"
- "testing"
-
- "github.com/google/pprof/internal/proftest"
-)
-
-var testM = []*Mapping{
- {
- ID: 1,
- Start: 1,
- Limit: 10,
- Offset: 0,
- File: "file1",
- BuildID: "buildid1",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
- {
- ID: 2,
- Start: 10,
- Limit: 30,
- Offset: 9,
- File: "file1",
- BuildID: "buildid2",
- HasFunctions: true,
- HasFilenames: true,
- HasLineNumbers: true,
- HasInlineFrames: true,
- },
-}
-
-var testF = []*Function{
- {ID: 1, Name: "func1", SystemName: "func1", Filename: "file1"},
- {ID: 2, Name: "func2", SystemName: "func2", Filename: "file1"},
- {ID: 3, Name: "func3", SystemName: "func3", Filename: "file2"},
- {ID: 4, Name: "func4", SystemName: "func4", Filename: "file3"},
- {ID: 5, Name: "func5", SystemName: "func5", Filename: "file4"},
-}
-
-var testL = []*Location{
- {
- ID: 1,
- Address: 1,
- Mapping: testM[0],
- Line: []Line{
- {
- Function: testF[0],
- Line: 2,
- },
- {
- Function: testF[1],
- Line: 2222222,
- },
- },
- },
- {
- ID: 2,
- Mapping: testM[1],
- Address: 11,
- Line: []Line{
- {
- Function: testF[2],
- Line: 2,
- },
- },
- },
- {
- ID: 3,
- Mapping: testM[1],
- Address: 12,
- },
- {
- ID: 4,
- Mapping: testM[1],
- Address: 12,
- Line: []Line{
- {
- Function: testF[4],
- Line: 6,
- },
- {
- Function: testF[4],
- Line: 6,
- },
- },
- IsFolded: true,
- },
-}
-
-var all = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 10,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "cpu", Unit: "cycles"},
- {Type: "object", Unit: "count"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{testL[0], testL[1], testL[2], testL[1], testL[1]},
- Label: map[string][]string{
- "key1": {"value1"},
- "key2": {"value2"},
- },
- Value: []int64{10, 20},
- },
- {
- Location: []*Location{testL[1], testL[2], testL[0], testL[1]},
- Value: []int64{30, 40},
- Label: map[string][]string{
- "key1": {"value1"},
- "key2": {"value2"},
- },
- NumLabel: map[string][]int64{
- "key1": {1, 2},
- "key2": {3, 4},
- "bytes": {3, 4},
- "requests": {1, 1, 3, 4, 5},
- "alignment": {3, 4},
- },
- NumUnit: map[string][]string{
- "requests": {"", "", "seconds", "", "s"},
- "alignment": {"kilobytes", "kilobytes"},
- },
- },
- },
- Function: testF,
- Mapping: testM,
- Location: testL,
- Comments: []string{"Comment 1", "Comment 2"},
-}
-
-func TestMarshalUnmarshal(t *testing.T) {
- // Write the profile, parse it, and ensure they're equal.
- var buf bytes.Buffer
- all.Write(&buf)
- all2, err := Parse(&buf)
- if err != nil {
- t.Fatal(err)
- }
-
- js1 := proftest.EncodeJSON(&all)
- js2 := proftest.EncodeJSON(&all2)
- if string(js1) != string(js2) {
- t.Errorf("profiles differ")
- d, err := proftest.Diff(js1, js2)
- if err != nil {
- t.Fatal(err)
- }
- t.Error("\n" + string(d))
- }
-}
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/prune_test.go b/src/cmd/vendor/github.com/google/pprof/profile/prune_test.go
deleted file mode 100644
index 75d7c6d4f7..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/prune_test.go
+++ /dev/null
@@ -1,230 +0,0 @@
-// Copyright 2014 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package profile
-
-import (
- "strings"
- "testing"
-)
-
-func TestPrune(t *testing.T) {
- for _, test := range []struct {
- in *Profile
- want string
- }{
- {in1, out1},
- {in2, out2},
- } {
- in := test.in.Copy()
- in.RemoveUninteresting()
- if err := in.CheckValid(); err != nil {
- t.Error(err)
- }
- w := strings.Split(test.want, "\n")
- for i, g := range strings.Split(in.String(), "\n") {
- if i >= len(w) {
- t.Fatalf("got trailing %s", g)
- }
- if strings.TrimSpace(g) != strings.TrimSpace(w[i]) {
- t.Fatalf(`%d: got: "%s" want:"%s"`, i, g, w[i])
- }
- }
- }
-}
-
-var funs = []*Function{
- {ID: 1, Name: "main", SystemName: "main", Filename: "main.c"},
- {ID: 2, Name: "fun1", SystemName: "fun1", Filename: "fun.c"},
- {ID: 3, Name: "fun2", SystemName: "fun2", Filename: "fun.c"},
- {ID: 4, Name: "fun3", SystemName: "fun3", Filename: "fun.c"},
- {ID: 5, Name: "fun4", SystemName: "fun4", Filename: "fun.c"},
- {ID: 6, Name: "fun5", SystemName: "fun5", Filename: "fun.c"},
- {ID: 7, Name: "unsimplified_fun(int)", SystemName: "unsimplified_fun(int)", Filename: "fun.c"},
- {ID: 8, Name: "Foo::(anonymous namespace)::Test::Bar", SystemName: "Foo::(anonymous namespace)::Test::Bar", Filename: "fun.c"},
- {ID: 9, Name: "Hello::(anonymous namespace)::World(const Foo::(anonymous namespace)::Test::Bar)", SystemName: "Hello::(anonymous namespace)::World(const Foo::(anonymous namespace)::Test::Bar)", Filename: "fun.c"},
- {ID: 10, Name: "Foo::operator()(::Bar)", SystemName: "Foo::operator()(::Bar)", Filename: "fun.c"},
-}
-
-var locs1 = []*Location{
- {
- ID: 1,
- Line: []Line{
- {Function: funs[0], Line: 1},
- },
- },
- {
- ID: 2,
- Line: []Line{
- {Function: funs[1], Line: 2},
- {Function: funs[2], Line: 1},
- },
- },
- {
- ID: 3,
- Line: []Line{
- {Function: funs[3], Line: 2},
- {Function: funs[1], Line: 1},
- },
- },
- {
- ID: 4,
- Line: []Line{
- {Function: funs[3], Line: 2},
- {Function: funs[1], Line: 2},
- {Function: funs[5], Line: 2},
- },
- },
-}
-
-var in1 = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*Sample{
- {
- Location: []*Location{locs1[0]},
- Value: []int64{1, 1},
- },
- {
- Location: []*Location{locs1[1], locs1[0]},
- Value: []int64{1, 1},
- },
- {
- Location: []*Location{locs1[2], locs1[0]},
- Value: []int64{1, 1},
- },
- {
- Location: []*Location{locs1[3], locs1[0]},
- Value: []int64{1, 1},
- },
- {
- Location: []*Location{locs1[3], locs1[2], locs1[1], locs1[0]},
- Value: []int64{1, 1},
- },
- },
- Location: locs1,
- Function: funs,
- DropFrames: "fu.*[12]|banana",
- KeepFrames: ".*[n2][n2]",
-}
-
-const out1 = `PeriodType: cpu milliseconds
-Period: 1
-Duration: 10s
-Samples:
-samples/count cpu/milliseconds
- 1 1: 1
- 1 1: 2 1
- 1 1: 1
- 1 1: 4 1
- 1 1: 2 1
-Locations
- 1: 0x0 main main.c:1 s=0
- 2: 0x0 fun2 fun.c:1 s=0
- 3: 0x0 fun3 fun.c:2 s=0
- fun1 fun.c:1 s=0
- 4: 0x0 fun5 fun.c:2 s=0
-Mappings
-`
-
-var locs2 = []*Location{
- {
- ID: 1,
- Line: []Line{
- {Function: funs[0], Line: 1},
- },
- },
- {
- ID: 2,
- Line: []Line{
- {Function: funs[6], Line: 1},
- },
- },
- {
- ID: 3,
- Line: []Line{
- {Function: funs[7], Line: 1},
- },
- },
- {
- ID: 4,
- Line: []Line{
- {Function: funs[8], Line: 1},
- },
- },
- {
- ID: 5,
- Line: []Line{
- {Function: funs[9], Line: 1},
- },
- },
-}
-
-var in2 = &Profile{
- PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"},
- Period: 1,
- DurationNanos: 10e9,
- SampleType: []*ValueType{
- {Type: "samples", Unit: "count"},
- {Type: "cpu", Unit: "milliseconds"},
- },
- Sample: []*Sample{
- // Unsimplified name with parameters shouldn't match.
- {
- Location: []*Location{locs2[1], locs2[0]},
- Value: []int64{1, 1},
- },
- // .*Foo::.*::Bar.* should (and will be dropped) regardless of the anonymous namespace.
- {
- Location: []*Location{locs2[2], locs2[0]},
- Value: []int64{1, 1},
- },
- // .*Foo::.*::Bar.* shouldn't match inside the parameter list.
- {
- Location: []*Location{locs2[3], locs2[0]},
- Value: []int64{1, 1},
- },
- // .*operator\(\) should match, regardless of parameters.
- {
- Location: []*Location{locs2[4], locs2[0]},
- Value: []int64{1, 1},
- },
- },
- Location: locs2,
- Function: funs,
- DropFrames: `unsimplified_fun\(int\)|.*Foo::.*::Bar.*|.*operator\(\)`,
-}
-
-const out2 = `PeriodType: cpu milliseconds
-Period: 1
-Duration: 10s
-Samples:
-samples/count cpu/milliseconds
- 1 1: 2 1
- 1 1: 1
- 1 1: 4 1
- 1 1: 1
-Locations
- 1: 0x0 main main.c:1 s=0
- 2: 0x0 unsimplified_fun(int) fun.c:1 s=0
- 3: 0x0 Foo::(anonymous namespace)::Test::Bar fun.c:1 s=0
- 4: 0x0 Hello::(anonymous namespace)::World(const Foo::(anonymous namespace)::Test::Bar) fun.c:1 s=0
- 5: 0x0 Foo::operator()(::Bar) fun.c:1 s=0
-Mappings
-`
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention
deleted file mode 100644
index 66a64c950c..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention
+++ /dev/null
@@ -1,24 +0,0 @@
---- contentionz 1 ---
-cycles/second = 3201000000
-sampling period = 100
-ms since reset = 16502830
-discarded samples = 0
- 19490304 27 @ 0xbccc97 0xc61202 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 768 1 @ 0xbccc97 0xa42dc7 0xa456e4 0x7fcdc2ff214e
- 5760 2 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87eab 0xb8814c 0x4e969d 0x4faa17 0x4fc5f6 0x4fd028 0x4fd230 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 569088 1 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87f08 0xb8814c 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 2432 1 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87eab 0xb8814c 0x7aa74c 0x7ab844 0x7ab914 0x79e9e9 0x79e326 0x4d299e 0x4d4b7b 0x4b7be8 0x4b7ff1 0x4d2dae 0x79e80a
- 2034816 3 @ 0xbccc97 0xb82f0f 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
---- Memory map: ---
- 00400000-00fcb000: cppbench_server_main
- 7fcdc231e000-7fcdc2321000: /libnss_cache-2.15.so
- 7fcdc2522000-7fcdc252e000: /libnss_files-2.15.so
- 7fcdc272f000-7fcdc28dd000: /libc-2.15.so
- 7fcdc2ae7000-7fcdc2be2000: /libm-2.15.so
- 7fcdc2de3000-7fcdc2dea000: /librt-2.15.so
- 7fcdc2feb000-7fcdc3003000: /libpthread-2.15.so
- 7fcdc3208000-7fcdc320a000: /libdl-2.15.so
- 7fcdc340c000-7fcdc3415000: /libcrypt-2.15.so
- 7fcdc3645000-7fcdc3669000: /ld-2.15.so
- 7fff86bff000-7fff86c00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention.string
deleted file mode 100644
index 441f1cec7b..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.contention.string
+++ /dev/null
@@ -1,65 +0,0 @@
-PeriodType: contentions count
-Period: 100
-Duration: 4h35
-Samples:
-contentions/count delay/nanoseconds
- 2700 608881724: 1 2 3 4 5 6 7 8 9 10 11 12 13
- 100 23992: 1 14 12 13
- 200 179943: 1 15 16 17 18 19 20 21 22 23 9 10 11 12 13
- 100 17778444: 1 15 16 24 18 3 4 5 6 7 8 9 10 11 12 13
- 100 75976: 1 15 16 17 18 25 26 27 28 29 30 31 32 33 34 9
- 300 63568134: 1 35 36 37 38 39 40 6 7 8 9 10 11 12 13
-Locations
- 1: 0xbccc96 M=1
- 2: 0xc61201 M=1
- 3: 0x42ed5e M=1
- 4: 0x42edc0 M=1
- 5: 0x42e159 M=1
- 6: 0x5261ae M=1
- 7: 0x526ede M=1
- 8: 0x5280aa M=1
- 9: 0x79e809 M=1
- 10: 0x7a251a M=1
- 11: 0x7a296c M=1
- 12: 0xa456e3 M=1
- 13: 0x7fcdc2ff214d M=7
- 14: 0xa42dc6 M=1
- 15: 0xb82b72 M=1
- 16: 0xb82bca M=1
- 17: 0xb87eaa M=1
- 18: 0xb8814b M=1
- 19: 0x4e969c M=1
- 20: 0x4faa16 M=1
- 21: 0x4fc5f5 M=1
- 22: 0x4fd027 M=1
- 23: 0x4fd22f M=1
- 24: 0xb87f07 M=1
- 25: 0x7aa74b M=1
- 26: 0x7ab843 M=1
- 27: 0x7ab913 M=1
- 28: 0x79e9e8 M=1
- 29: 0x79e325 M=1
- 30: 0x4d299d M=1
- 31: 0x4d4b7a M=1
- 32: 0x4b7be7 M=1
- 33: 0x4b7ff0 M=1
- 34: 0x4d2dad M=1
- 35: 0xb82f0e M=1
- 36: 0xb83002 M=1
- 37: 0xb87d4f M=1
- 38: 0xc635ef M=1
- 39: 0x42ecc2 M=1
- 40: 0x42e14b M=1
-Mappings
-1: 0x400000/0xfcb000/0x0 cppbench_server_main
-2: 0x7fcdc231e000/0x7fcdc2321000/0x0 /libnss_cache-2.15.so
-3: 0x7fcdc2522000/0x7fcdc252e000/0x0 /libnss_files-2.15.so
-4: 0x7fcdc272f000/0x7fcdc28dd000/0x0 /libc-2.15.so
-5: 0x7fcdc2ae7000/0x7fcdc2be2000/0x0 /libm-2.15.so
-6: 0x7fcdc2de3000/0x7fcdc2dea000/0x0 /librt-2.15.so
-7: 0x7fcdc2feb000/0x7fcdc3003000/0x0 /libpthread-2.15.so
-8: 0x7fcdc3208000/0x7fcdc320a000/0x0 /libdl-2.15.so
-9: 0x7fcdc340c000/0x7fcdc3415000/0x0 /libcrypt-2.15.so
-10: 0x7fcdc3645000/0x7fcdc3669000/0x0 /ld-2.15.so
-11: 0x7fff86bff000/0x7fff86c00000/0x0 [vdso]
-12: 0xffffffffff600000/0xffffffffff601000/0x0 [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpu b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpu
deleted file mode 100644
index 607015ee93..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpu
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpu.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpu.string
deleted file mode 100644
index 251f913c29..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.cpu.string
+++ /dev/null
@@ -1,179 +0,0 @@
-PeriodType: cpu nanoseconds
-Period: 10000000
-Samples:
-samples/count cpu/nanoseconds
- 1 10000000: 1 2 3 4 5 6 7 8 9 10
- 1 10000000: 11 2 3 4 5 6 7 8 9 10
- 1 10000000: 1 2 3 4 5 6 7 8 9 10
- 1 10000000: 12 13 14 15 16 17 18 3 4 5 6 7 8 9 10
- 542 5420000000: 19 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 20 17 18 3 4 5 6 7 8 9 10
- 10 100000000: 21 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 22 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 23 24 25 2 3 4 5 6 7 8 9 10
- 3 30000000: 26 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 27 16 17 18 3 4 5 6 7 8 9 10
- 2 20000000: 28 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 29 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 30 31 32 33 34 35 36 37 38 9 10
- 3 30000000: 39 40 41 24 25 2 3 4 5 6 7 8 9 10
- 2 20000000: 42 40 41 24 25 2 3 4 5 6 7 8 9 10
- 1 10000000: 43 40 41 24 25 2 3 4 5 6 7 8 9 10
- 2 20000000: 44 45 41 24 25 2 3 4 5 6 7 8 9 10
- 67 670000000: 46 2 3 4 5 6 7 8 9 10
- 20 200000000: 47 2 3 4 5 6 7 8 9 10
- 12 120000000: 48 2 3 4 5 6 7 8 9 10
- 5 50000000: 11 2 3 4 5 6 7 8 9 10
- 1 10000000: 49 10
- 1 10000000: 50 51 52 13 14 15 16 17 18 3 4 5 6 7 8 9 10
- 2 20000000: 53 51 52 13 14 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 54 14 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 55 56 57 58 4 5 6 7 8 9 10
- 1 10000000: 59 41 24 25 2 3 4 5 6 7 8 9 10
- 1 10000000: 60 41 24 25 2 3 4 5 6 7 8 9 10
- 1 10000000: 61 62 63 64 40 41 24 25 2 3 4 5 6 7 8 9 10
- 1 10000000: 65 66 67 68 69 70 71 72 73 74 75 37 38 9 10
- 1 10000000: 76 13 77 15 16 17 18 3 4 5 6 7 8 9 10
- 2 20000000: 78 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 79 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 80 13 77 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 81 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 82 13 14 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 83 13 77 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 83 13 14 15 16 17 18 3 4 5 6 7 8 9 10
- 1 10000000: 30 84 85 86 9 10
- 1 10000000: 87 88 40 41 24 25 2 3 4 5 6 7 8 9 10
- 1 10000000: 89 90 91 92 8 9 10
- 1 10000000: 30 93 8 9 10
- 1 10000000: 30 84 94 9 10
- 1 10000000: 95 3 4 5 6 7 8 9 10
- 1 10000000: 96 97 3 4 5 6 7 8 9 10
- 1 10000000: 98 25 2 3 4 5 6 7 8 9 10
- 1 10000000: 99 25 2 3 4 5 6 7 8 9 10
- 1 10000000: 100 101 102 41 24 25 2 3 4 5 6 7 8 9 10
- 2 20000000: 103 104 91 92 8 9 10
- 1 10000000: 105 104 91 92 8 9 10
- 1 10000000: 106 107 108 109 97 3 4 5 6 7 8 9 10
-Locations
- 1: 0x42ef04 M=1
- 2: 0x42e14b M=1
- 3: 0x5261ae M=1
- 4: 0x526ede M=1
- 5: 0x5280aa M=1
- 6: 0x79e809 M=1
- 7: 0x7a251a M=1
- 8: 0x7a296c M=1
- 9: 0xa456e3 M=1
- 10: 0x7f5e541460fd M=7
- 11: 0x42ef17 M=1
- 12: 0xb867c0 M=1
- 13: 0xb82bca M=1
- 14: 0xb87eaa M=1
- 15: 0xb8814b M=1
- 16: 0x42ed5e M=1
- 17: 0x42edc0 M=1
- 18: 0x42e159 M=1
- 19: 0x42ed43 M=1
- 20: 0xc60ea0 M=1
- 21: 0x42ed40 M=1
- 22: 0xbf42fe M=1
- 23: 0xb87d6f M=1
- 24: 0xc635ef M=1
- 25: 0x42ecc2 M=1
- 26: 0xc60f0f M=1
- 27: 0xc610d7 M=1
- 28: 0xc61108 M=1
- 29: 0xb8816e M=1
- 30: 0xbc8f1c M=1
- 31: 0xbcae54 M=1
- 32: 0xbcb5f4 M=1
- 33: 0x40b687 M=1
- 34: 0x535244 M=1
- 35: 0x536bf4 M=1
- 36: 0x42eb0f M=1
- 37: 0x42de64 M=1
- 38: 0xa41281 M=1
- 39: 0xb82dea M=1
- 40: 0xb83002 M=1
- 41: 0xb87d4f M=1
- 42: 0xb82df1 M=1
- 43: 0xb82dd3 M=1
- 44: 0xb82c23 M=1
- 45: 0xb82fd1 M=1
- 46: 0x42ef13 M=1
- 47: 0x42ef0b M=1
- 48: 0x42ef0f M=1
- 49: 0x7f5e53999f13 M=4
- 50: 0xb8591b M=1
- 51: 0xb85e48 M=1
- 52: 0xb82ae3 M=1
- 53: 0xb85893 M=1
- 54: 0xb88cdc M=1
- 55: 0x698000 M=1
- 56: 0x653f4b M=1
- 57: 0x54dc65 M=1
- 58: 0x525120 M=1
- 59: 0xb88d84 M=1
- 60: 0xb88d98 M=1
- 61: 0xb86591 M=1
- 62: 0xb859de M=1
- 63: 0xb862de M=1
- 64: 0xb82d5e M=1
- 65: 0x967171 M=1
- 66: 0x964990 M=1
- 67: 0x448584 M=1
- 68: 0x5476d7 M=1
- 69: 0x4f1be0 M=1
- 70: 0x4f34db M=1
- 71: 0x4f8a9a M=1
- 72: 0x5388df M=1
- 73: 0x573c5a M=1
- 74: 0x4a4168 M=1
- 75: 0x42eb03 M=1
- 76: 0xb82a31 M=1
- 77: 0xb87f07 M=1
- 78: 0xb87e76 M=1
- 79: 0xb87e7e M=1
- 80: 0xb82a36 M=1
- 81: 0xb87ede M=1
- 82: 0xb82a55 M=1
- 83: 0xb82b08 M=1
- 84: 0xbcbcff M=1
- 85: 0xbcbea4 M=1
- 86: 0xa40112 M=1
- 87: 0xb85e87 M=1
- 88: 0xb82d77 M=1
- 89: 0x79eb32 M=1
- 90: 0x7a18e8 M=1
- 91: 0x7a1c44 M=1
- 92: 0x7a2726 M=1
- 93: 0x7a2690 M=1
- 94: 0x89f186 M=1
- 95: 0xc60eb7 M=1
- 96: 0x521c7f M=1
- 97: 0x5194c8 M=1
- 98: 0xc634f0 M=1
- 99: 0xc63245 M=1
- 100: 0xb867d8 M=1
- 101: 0xb82cf2 M=1
- 102: 0xb82f82 M=1
- 103: 0x7f5e538b9a93 M=4
- 104: 0x7a1955 M=1
- 105: 0x7f5e538b9a97 M=4
- 106: 0x7e0f10 M=1
- 107: 0x7e0b5d M=1
- 108: 0x6ab44f M=1
- 109: 0x521d51 M=1
-Mappings
-1: 0x400000/0xfcb000/0x0 cppbench_server_main
-2: 0x7f5e53061000/0x7f5e53062000/0x0 /lib/libnss_borg-2.15.so
-3: 0x7f5e53264000/0x7f5e53270000/0x0 /lib/libnss_files-2.15.so
-4: 0x7f5e53883000/0x7f5e53a31000/0x0 /lib/libc-2.15.so
-5: 0x7f5e53c3b000/0x7f5e53d36000/0x0 /lib/libm-2.15.so
-6: 0x7f5e53f37000/0x7f5e53f3e000/0x0 /lib/librt-2.15.so
-7: 0x7f5e5413f000/0x7f5e54157000/0x0 /lib/libpthread-2.15.so
-8: 0x7f5e5435c000/0x7f5e5435e000/0x0 /lib/libdl-2.15.so
-9: 0x7f5e54560000/0x7f5e54569000/0x0 /lib/libcrypt-2.15.so
-10: 0x7f5e54799000/0x7f5e547bd000/0x0 /lib/ld-2.15.so
-11: 0x7ffffb56b000/0x7ffffb56d000/0x0 [vdso]
-12: 0xffffffffff600000/0xffffffffff601000/0x0 [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth
deleted file mode 100644
index d06f78b033..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth
+++ /dev/null
@@ -1,99 +0,0 @@
-heap profile: 85: 178257920 [ 85: 178257920] @ growthz
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0xafc0eb 0xb087b1 0xb0aa7d 0xb0b374 0xb12f10 0xb13a92 0xb0c443 0xb145f3 0xb147ca 0xa5dddd 0xbbffe6 0xa5e837 0xa65f94 0x5aac9e 0x535526 0x535144 0x5aa468 0x7e3ce7 0x7d13a2 0x7e0d28 0x6ab450 0x538d27 0x5390e8 0x5391e3 0x4e9603 0x4faa17 0x4fc5f6
- 1: 2097152 [ 1: 2097152] @ 0xc635c8 0x816900 0x8149fd 0x813aa0 0xbbff77 0x81421c 0x4ed414 0x4fd707 0x4de2a2 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0xbb5783 0x40acd8 0x61192e 0x4b9522 0x4b9f62 0x4ba025 0x40bd86 0x7fcdc276711d
- 1: 2097152 [ 1: 2097152] @ 0xb83003 0xb87d50 0xc635f0 0x42d576 0xc25cc6 0x40651b
---- Memory map: ---
- 00400000-00fcb000: cppbench_server_main
- 7fcdc231e000-7fcdc2321000: /libnss_cache-2.15.so
- 7fcdc2522000-7fcdc252e000: /libnss_files-2.15.so
- 7fcdc272f000-7fcdc28dd000: /libc-2.15.so
- 7fcdc2ae7000-7fcdc2be2000: /libm-2.15.so
- 7fcdc2de3000-7fcdc2dea000: /librt-2.15.so
- 7fcdc2feb000-7fcdc3003000: /libpthread-2.15.so
- 7fcdc3208000-7fcdc320a000: /libdl-2.15.so
- 7fcdc340c000-7fcdc3415000: /libcrypt-2.15.so
- 7fcdc3645000-7fcdc3669000: /ld-2.15.so
- 7fff86bff000-7fff86c00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth.string
deleted file mode 100644
index 842ff9f41e..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.growth.string
+++ /dev/null
@@ -1,248 +0,0 @@
-PeriodType: space bytes
-Period: 1
-Samples:
-objects/count space/bytes
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 14 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 4 5 6 7 8 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
- bytes:[2097152]
- 1 2097152: 14 42 43 44 45 46 47 48 49 9 10 11 12 13
- bytes:[2097152]
- 1 2097152: 1 2 3 50 51 52 53 54 55 56 57
- bytes:[2097152]
- 1 2097152: 1 2 3 58 59 60
- bytes:[2097152]
-Locations
- 1: 0xb83002 M=1
- 2: 0xb87d4f M=1
- 3: 0xc635ef M=1
- 4: 0x42ecc2 M=1
- 5: 0x42e14b M=1
- 6: 0x5261ae M=1
- 7: 0x526ede M=1
- 8: 0x5280aa M=1
- 9: 0x79e809 M=1
- 10: 0x7a251a M=1
- 11: 0x7a296c M=1
- 12: 0xa456e3 M=1
- 13: 0x7fcdc2ff214d M=7
- 14: 0xc635c7 M=1
- 15: 0xafc0ea M=1
- 16: 0xb087b0 M=1
- 17: 0xb0aa7c M=1
- 18: 0xb0b373 M=1
- 19: 0xb12f0f M=1
- 20: 0xb13a91 M=1
- 21: 0xb0c442 M=1
- 22: 0xb145f2 M=1
- 23: 0xb147c9 M=1
- 24: 0xa5dddc M=1
- 25: 0xbbffe5 M=1
- 26: 0xa5e836 M=1
- 27: 0xa65f93 M=1
- 28: 0x5aac9d M=1
- 29: 0x535525 M=1
- 30: 0x535143 M=1
- 31: 0x5aa467 M=1
- 32: 0x7e3ce6 M=1
- 33: 0x7d13a1 M=1
- 34: 0x7e0d27 M=1
- 35: 0x6ab44f M=1
- 36: 0x538d26 M=1
- 37: 0x5390e7 M=1
- 38: 0x5391e2 M=1
- 39: 0x4e9602 M=1
- 40: 0x4faa16 M=1
- 41: 0x4fc5f5 M=1
- 42: 0x8168ff M=1
- 43: 0x8149fc M=1
- 44: 0x813a9f M=1
- 45: 0xbbff76 M=1
- 46: 0x81421b M=1
- 47: 0x4ed413 M=1
- 48: 0x4fd706 M=1
- 49: 0x4de2a1 M=1
- 50: 0xbb5782 M=1
- 51: 0x40acd7 M=1
- 52: 0x61192d M=1
- 53: 0x4b9521 M=1
- 54: 0x4b9f61 M=1
- 55: 0x4ba024 M=1
- 56: 0x40bd85 M=1
- 57: 0x7fcdc276711c M=4
- 58: 0x42d575 M=1
- 59: 0xc25cc5 M=1
- 60: 0x40651a M=1
-Mappings
-1: 0x400000/0xfcb000/0x0 cppbench_server_main
-2: 0x7fcdc231e000/0x7fcdc2321000/0x0 /libnss_cache-2.15.so
-3: 0x7fcdc2522000/0x7fcdc252e000/0x0 /libnss_files-2.15.so
-4: 0x7fcdc272f000/0x7fcdc28dd000/0x0 /libc-2.15.so
-5: 0x7fcdc2ae7000/0x7fcdc2be2000/0x0 /libm-2.15.so
-6: 0x7fcdc2de3000/0x7fcdc2dea000/0x0 /librt-2.15.so
-7: 0x7fcdc2feb000/0x7fcdc3003000/0x0 /libpthread-2.15.so
-8: 0x7fcdc3208000/0x7fcdc320a000/0x0 /libdl-2.15.so
-9: 0x7fcdc340c000/0x7fcdc3415000/0x0 /libcrypt-2.15.so
-10: 0x7fcdc3645000/0x7fcdc3669000/0x0 /ld-2.15.so
-11: 0x7fff86bff000/0x7fff86c00000/0x0 [vdso]
-12: 0xffffffffff600000/0xffffffffff601000/0x0 [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap
deleted file mode 100644
index 562225079b..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap
+++ /dev/null
@@ -1,47 +0,0 @@
-heap profile: 144: 8498176 [ 144: 8498176] @ heapz_v2/524288
- 1: 9216 [ 1: 9216] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 144 [ 1: 144] @ 0xc635c8 0xa7479b 0xb65e6b 0xb65f80 0xa6d069 0xa6dc80 0xbbffe6 0xa5dd84 0xa7b7c6 0xaa88da 0xaa9db2 0xb59bae 0xb0c39c 0xb145f3 0xb147ca 0xa5dddd 0xbbffe6 0xa5e837 0xa65f94 0x5aac9e 0x535526 0x535144 0x5aa468 0x7e3ce7 0x7d13a2 0x7e0d28 0x6ab450 0x538d27 0x5390e8 0x5391e3 0x4e9603
- 7: 114688 [ 7: 114688] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 1792 [ 1: 1792] @ 0xc635c8 0x51a272 0x524997 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 13: 319488 [ 13: 319488] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 1792 [ 1: 1792] @ 0xc635c8 0xac95a0 0xacdc7c 0xace07b 0xace1ac 0xabd100 0xabe2a9 0x72f52e 0x655376 0x6558d3 0x41c711 0xc25cc6 0x40651b
- 1: 2162688 [ 1: 2162688] @ 0xc63568 0xbc462e 0xbc4bb5 0xbc4eda 0x4a57b8 0x4b152c 0x4ae04c 0x4ad225 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 48 [ 1: 48] @ 0xc635c8 0x7be14a 0x7be675 0x6b312d 0xbaa17f 0xbaa142 0xbaabc6 0xbb092c 0x40bce4 0x7f47a4bab11d
- 1: 262144 [ 1: 262144] @ 0xc635c8 0x816900 0x8149fd 0x8139f4 0xbbff77 0x81421c 0x4ed414 0x4fd707 0x4de2a2 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 320 [ 1: 320] @ 0xc635c8 0x721a59 0x43005e 0x7382a4 0x430590 0x435425 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 1792 [ 1: 1792] @ 0xc635c8 0x5413b0 0x541ab2 0xbaa17f 0xbaabc6 0x53507c 0xbaa17f 0xbaa9f9 0xbb0d21 0x40bce4 0x7f47a4bab11d
- 1: 10240 [ 1: 10240] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 16: 327680 [ 16: 327680] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 160 [ 1: 160] @ 0xc635c8 0x578705 0x586247 0x592615 0x592745 0x592cb9 0xa456e4 0x7f47a54360fe
- 1: 8192 [ 1: 8192] @ 0xc635c8 0xaaf469 0x52cad7 0x52e89b 0x527f32 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 2: 24576 [ 2: 24576] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 2097152 [ 1: 2097152] @ 0xc63568 0xbc463b 0xbc4bb5 0xbc4eda 0x4a57b8 0x4b152c 0x4ae04c 0x4ad225 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 448 [ 1: 448] @ 0xc635c8 0xafca3b 0xb09ba0 0xb09ec0 0xb12fec 0xb13a92 0xb13c93 0xb13d9d 0xa02777 0xbbff77 0xa026ec 0x5701e2 0x53541a 0x535144 0x5aa468 0x7e3ce7 0x7d13a2 0x7e0d28 0x6ab450 0x538d27 0x5390e8 0x5391e3 0x4e9603 0x4faa17 0x4fc5f6 0x4fd028 0x4fd230 0x79e80a 0x7a251b 0x7a296d 0xa456e4
- 47: 1925120 [ 47: 1925120] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 6656 [ 1: 6656] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 11: 292864 [ 11: 292864] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 4096 [ 1: 4096] @ 0xc635c8 0x75373b 0x7eb2d3 0x7ecc87 0x7ece56 0x7ed1ce 0x7ed360 0x7edb1a 0x7edbb5 0x7d50b0 0x4b9ba6 0x4b9f62 0x4ba025 0x40bd86 0x7f47a4bab11d
- 1: 112 [ 1: 112] @ 0xc635c8 0x430498 0x435425 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 20480 [ 1: 20480] @ 0xc635c8 0x5a8b92 0x526bff 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 48 [ 1: 48] @ 0xc635c8 0x720c2e 0x5d35f0 0xbaa17f 0xbaabc6 0x42f03d 0xbaa17f 0xbaa9f9 0xbb0d21 0x40bce4 0x7f47a4bab11d
- 1: 8192 [ 1: 8192] @ 0xc635c8 0xaaf3e6 0xab0ba0 0xab11be 0xab1639 0x52ebdc 0x527f32 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 2: 131072 [ 2: 131072] @ 0xc635c8 0xaaf469 0xaad4ce 0xb66bcd 0xb670f2 0xb659b5 0x63689b 0x548172 0x520cdc 0x521b82 0x5194c9 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 8192 [ 1: 8192] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 1: 512 [ 1: 512] @ 0xc635c8 0xaff12a 0xb0b331 0xb12f10 0xb13a92 0xb0c443 0xb145f3 0xb147ca 0xa5dddd 0xbbffe6 0xa5e837 0xa65f94 0x5aac9e 0x535526 0x535144 0x5aa468 0x7e3ce7 0x7d13a2 0x7e0d28 0x6ab450 0x538d27 0x5390e8 0x5391e3 0x4e9603 0x4faa17 0x4fc5f6 0x4fd028 0x4fd230 0x79e80a 0x7a251b 0x7a296d
- 1: 4608 [ 1: 4608] @ 0xc635c8 0x464379 0xa6318d 0x7feee9 0x5ab69c 0x7b0b26 0x79e81a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
- 23: 753664 [ 23: 753664] @ 0xc635c8 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7f47a54360fe
---- Memory map: ---
- source=/home
- 00400000-00fcb000: $source/cppbench_server_main
- 7f47a4351000-7f47a4352000: /lib/libnss_borg-2.15.so
- 7f47a4554000-7f47a4560000: /lib/libnss_files-2.15.so
- 7f47a4b73000-7f47a4d21000: /lib/libc-2.15.so
- 7f47a4f2b000-7f47a5026000: /lib/libm-2.15.so
- 7f47a5227000-7f47a522e000: /lib/librt-2.15.so
- 7f47a542f000-7f47a5447000: /lib/libpthread-2.15.so
- 7f47a564c000-7f47a564e000: /lib/libdl-2.15.so
- 7f47a5850000-7f47a5859000: /lib/libcrypt-2.15.so
- 7f47a5a89000-7f47a5aad000: /lib/ld-2.15.so
- 7fff63dfe000-7fff63e00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
-
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap.string
deleted file mode 100644
index d099e59a9a..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.heap.string
+++ /dev/null
@@ -1,237 +0,0 @@
-PeriodType: space bytes
-Period: 524288
-Samples:
-objects/count space/bytes
- 57 528909: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[9216]
- 3641 524360: 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 17 27 28 29 30 31 32 33 34 35 36 37 38 39 40
- bytes:[144]
- 227 3727658: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[16384]
- 293 525184: 1 41 42 5 6 7 8 9 10 11
- bytes:[1792]
- 283 6976735: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[24576]
- 293 525184: 1 43 44 45 46 47 48 49 50 51 52 53 54
- bytes:[1792]
- 1 2198218: 55 56 57 58 59 60 61 62 7 8 9 10 11
- bytes:[2162688]
- 10923 524312: 1 63 64 65 66 67 68 69 70 71
- bytes:[48]
- 2 666237: 1 72 73 74 75 76 77 78 79 7 8 9 10 11
- bytes:[262144]
- 1638 524448: 1 80 81 82 83 84 4 5 6 7 8 9 10 11
- bytes:[320]
- 293 525184: 1 85 86 66 68 87 66 88 89 70 71
- bytes:[1792]
- 51 529424: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[10240]
- 417 8553514: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[20480]
- 3277 524368: 1 90 91 92 93 94 10 11
- bytes:[160]
- 64 528394: 1 95 96 97 98 7 8 9 10 11
- bytes:[8192]
- 86 1060911: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[12288]
- 1 2136279: 55 99 57 58 59 60 61 62 7 8 9 10 11
- bytes:[2097152]
- 1170 524512: 1 100 101 102 103 104 105 106 107 75 108 109 110 31 32 33 34 35 36 37 38 39 40 111 112 113 114 7 8 9 10
- bytes:[448]
- 625 25616628: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[40960]
- 79 527623: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[6656]
- 222 5914839: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[26624]
- 128 526338: 1 115 116 117 118 119 120 121 122 123 124 125 126 127 71
- bytes:[4096]
- 4681 524344: 1 128 84 4 5 6 7 8 9 10 11
- bytes:[112]
- 26 534594: 1 129 130 6 7 8 9 10 11
- bytes:[20480]
- 10923 524312: 1 131 132 66 68 133 66 88 89 70 71
- bytes:[48]
- 64 528394: 1 134 135 136 137 138 98 7 8 9 10 11
- bytes:[8192]
- 17 1115476: 1 95 139 140 141 142 143 144 145 146 147 4 5 6 7 8 9 10 11
- bytes:[65536]
- 64 528394: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[8192]
- 1024 524544: 1 148 149 150 104 151 24 25 26 17 27 28 29 30 31 32 33 34 35 36 37 38 39 40 111 112 113 114 7 8 9
- bytes:[512]
- 114 526595: 1 152 153 154 155 156 157 8 9 10 11
- bytes:[4608]
- 379 12439381: 1 2 3 4 5 6 7 8 9 10 11
- bytes:[32768]
-Locations
- 1: 0xc635c7 M=1
- 2: 0x42ecc2 M=1
- 3: 0x42e14b M=1
- 4: 0x5261ae M=1
- 5: 0x526ede M=1
- 6: 0x5280aa M=1
- 7: 0x79e809 M=1
- 8: 0x7a251a M=1
- 9: 0x7a296c M=1
- 10: 0xa456e3 M=1
- 11: 0x7f47a54360fd M=7
- 12: 0xa7479a M=1
- 13: 0xb65e6a M=1
- 14: 0xb65f7f M=1
- 15: 0xa6d068 M=1
- 16: 0xa6dc7f M=1
- 17: 0xbbffe5 M=1
- 18: 0xa5dd83 M=1
- 19: 0xa7b7c5 M=1
- 20: 0xaa88d9 M=1
- 21: 0xaa9db1 M=1
- 22: 0xb59bad M=1
- 23: 0xb0c39b M=1
- 24: 0xb145f2 M=1
- 25: 0xb147c9 M=1
- 26: 0xa5dddc M=1
- 27: 0xa5e836 M=1
- 28: 0xa65f93 M=1
- 29: 0x5aac9d M=1
- 30: 0x535525 M=1
- 31: 0x535143 M=1
- 32: 0x5aa467 M=1
- 33: 0x7e3ce6 M=1
- 34: 0x7d13a1 M=1
- 35: 0x7e0d27 M=1
- 36: 0x6ab44f M=1
- 37: 0x538d26 M=1
- 38: 0x5390e7 M=1
- 39: 0x5391e2 M=1
- 40: 0x4e9602 M=1
- 41: 0x51a271 M=1
- 42: 0x524996 M=1
- 43: 0xac959f M=1
- 44: 0xacdc7b M=1
- 45: 0xace07a M=1
- 46: 0xace1ab M=1
- 47: 0xabd0ff M=1
- 48: 0xabe2a8 M=1
- 49: 0x72f52d M=1
- 50: 0x655375 M=1
- 51: 0x6558d2 M=1
- 52: 0x41c710 M=1
- 53: 0xc25cc5 M=1
- 54: 0x40651a M=1
- 55: 0xc63567 M=1
- 56: 0xbc462d M=1
- 57: 0xbc4bb4 M=1
- 58: 0xbc4ed9 M=1
- 59: 0x4a57b7 M=1
- 60: 0x4b152b M=1
- 61: 0x4ae04b M=1
- 62: 0x4ad224 M=1
- 63: 0x7be149 M=1
- 64: 0x7be674 M=1
- 65: 0x6b312c M=1
- 66: 0xbaa17e M=1
- 67: 0xbaa141 M=1
- 68: 0xbaabc5 M=1
- 69: 0xbb092b M=1
- 70: 0x40bce3 M=1
- 71: 0x7f47a4bab11c M=4
- 72: 0x8168ff M=1
- 73: 0x8149fc M=1
- 74: 0x8139f3 M=1
- 75: 0xbbff76 M=1
- 76: 0x81421b M=1
- 77: 0x4ed413 M=1
- 78: 0x4fd706 M=1
- 79: 0x4de2a1 M=1
- 80: 0x721a58 M=1
- 81: 0x43005d M=1
- 82: 0x7382a3 M=1
- 83: 0x43058f M=1
- 84: 0x435424 M=1
- 85: 0x5413af M=1
- 86: 0x541ab1 M=1
- 87: 0x53507b M=1
- 88: 0xbaa9f8 M=1
- 89: 0xbb0d20 M=1
- 90: 0x578704 M=1
- 91: 0x586246 M=1
- 92: 0x592614 M=1
- 93: 0x592744 M=1
- 94: 0x592cb8 M=1
- 95: 0xaaf468 M=1
- 96: 0x52cad6 M=1
- 97: 0x52e89a M=1
- 98: 0x527f31 M=1
- 99: 0xbc463a M=1
- 100: 0xafca3a M=1
- 101: 0xb09b9f M=1
- 102: 0xb09ebf M=1
- 103: 0xb12feb M=1
- 104: 0xb13a91 M=1
- 105: 0xb13c92 M=1
- 106: 0xb13d9c M=1
- 107: 0xa02776 M=1
- 108: 0xa026eb M=1
- 109: 0x5701e1 M=1
- 110: 0x535419 M=1
- 111: 0x4faa16 M=1
- 112: 0x4fc5f5 M=1
- 113: 0x4fd027 M=1
- 114: 0x4fd22f M=1
- 115: 0x75373a M=1
- 116: 0x7eb2d2 M=1
- 117: 0x7ecc86 M=1
- 118: 0x7ece55 M=1
- 119: 0x7ed1cd M=1
- 120: 0x7ed35f M=1
- 121: 0x7edb19 M=1
- 122: 0x7edbb4 M=1
- 123: 0x7d50af M=1
- 124: 0x4b9ba5 M=1
- 125: 0x4b9f61 M=1
- 126: 0x4ba024 M=1
- 127: 0x40bd85 M=1
- 128: 0x430497 M=1
- 129: 0x5a8b91 M=1
- 130: 0x526bfe M=1
- 131: 0x720c2d M=1
- 132: 0x5d35ef M=1
- 133: 0x42f03c M=1
- 134: 0xaaf3e5 M=1
- 135: 0xab0b9f M=1
- 136: 0xab11bd M=1
- 137: 0xab1638 M=1
- 138: 0x52ebdb M=1
- 139: 0xaad4cd M=1
- 140: 0xb66bcc M=1
- 141: 0xb670f1 M=1
- 142: 0xb659b4 M=1
- 143: 0x63689a M=1
- 144: 0x548171 M=1
- 145: 0x520cdb M=1
- 146: 0x521b81 M=1
- 147: 0x5194c8 M=1
- 148: 0xaff129 M=1
- 149: 0xb0b330 M=1
- 150: 0xb12f0f M=1
- 151: 0xb0c442 M=1
- 152: 0x464378 M=1
- 153: 0xa6318c M=1
- 154: 0x7feee8 M=1
- 155: 0x5ab69b M=1
- 156: 0x7b0b25 M=1
- 157: 0x79e819 M=1
-Mappings
-1: 0x400000/0xfcb000/0x0 /home/cppbench_server_main
-2: 0x7f47a4351000/0x7f47a4352000/0x0 /lib/libnss_borg-2.15.so
-3: 0x7f47a4554000/0x7f47a4560000/0x0 /lib/libnss_files-2.15.so
-4: 0x7f47a4b73000/0x7f47a4d21000/0x0 /lib/libc-2.15.so
-5: 0x7f47a4f2b000/0x7f47a5026000/0x0 /lib/libm-2.15.so
-6: 0x7f47a5227000/0x7f47a522e000/0x0 /lib/librt-2.15.so
-7: 0x7f47a542f000/0x7f47a5447000/0x0 /lib/libpthread-2.15.so
-8: 0x7f47a564c000/0x7f47a564e000/0x0 /lib/libdl-2.15.so
-9: 0x7f47a5850000/0x7f47a5859000/0x0 /lib/libcrypt-2.15.so
-10: 0x7f47a5a89000/0x7f47a5aad000/0x0 /lib/ld-2.15.so
-11: 0x7fff63dfe000/0x7fff63e00000/0x0 [vdso]
-12: 0xffffffffff600000/0xffffffffff601000/0x0 [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread
deleted file mode 100644
index 0192dd6db9..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread
+++ /dev/null
@@ -1,29 +0,0 @@
---- threadz 1 ---
-
---- Thread 7f794ab90940 (name: main/14748) stack: ---
- PC: 0x00bc8f1c: helper(arg *)
- 0x0040be31: main
- 0x7f7949a9811d: __libc_start_main
---- Thread 7f794964e700 (name: thread1/14751) stack: ---
- PC: 0x7f794a32bf7d: nanosleep
- 0x7f794a32414e: start_thread
- creator: 0xa45b96 0xa460b4 0xbaa17f 0xbaa9f9 0xbb0d21 0x40bce4 0x7f7949a9811d
---- Thread 7f794934c700 (name: thread2/14752) stack: ---
- PC: 0x00bc8f1c: Wait(int)
- 0x7f794a32414e: start_thread
- creator: 0xa45b96 0xa48928 0xbaa17f 0xbaa9f9 0xbb0d21 0x40bce4 0x7f7949a9811d
---- Thread 7f7948978700 (name: thread3/14759) stack: ---
- [same as previous thread]
---- Memory map: ---
- 00400000-00fcb000: /home/rsilvera/cppbench/cppbench_server_main
- 7f794964f000-7f7949652000: /lib/libnss_cache-2.15.so
- 7f7949853000-7f794985f000: /lib/libnss_files-2.15.so
- 7f7949a60000-7f7949c0e000: /lib/libc-2.15.so
- 7f7949e19000-7f7949f14000: /lib/libm-2.15.so
- 7f794a115000-7f794a11c000: /lib/librt-2.15.so
- 7f794a31d000-7f794a335000: /lib/libpthread-2.15.so
- 7f794a53a000-7f794a53d000: /lib/libdl-2.15.so
- 7f794a73e000-7f794a747000: /lib/libcrypt-2.15.so
- 7f794a977000-7f794a99b000: /lib/ld-2.15.so
- 7fffb8dff000-7fffb8e00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all
deleted file mode 100644
index a3f8893ea1..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all
+++ /dev/null
@@ -1,33 +0,0 @@
---- threadz 1 ---
-
---- Thread 7eff063d9940 (name: main/25376) stack: ---
- PC: 0x00bc8f1c: helper(arg*)
- 0x0040be31: main
- 0x7eff052e111d: __libc_start_main
---- Thread 7eff04e97700 (name: thread1/25379) stack: ---
- PC: 0x7eff05b74f7d: nanosleep
- 0x7eff05b6d14e: start_thread
- creator:
- 0x0040bce4: main
- 0x7eff052e111d: __libc_start_main
---- Thread 7eff04770700 (name: thread2/25382) stack: ---
- PC: 0x00bc8f1c: Wait(int)
- 0x7eff05b6d14e: start_thread
- creator:
- 0x0040bd6e: main
- 0x7eff052e111d: __libc_start_main
---- Thread 7eff0464d700 (name: thread3/25383) stack: ---
- [same as previous thread]
---- Memory map: ---
- 00400000-00fcb000: /home/rsilvera/cppbench/cppbench_server_main
- 7eff04e98000-7eff04e9b000: /lib/libnss_cache-2.15.so
- 7eff0509c000-7eff050a8000: /lib/libnss_files-2.15.so
- 7eff052a9000-7eff05457000: /lib/libc-2.15.so
- 7eff05662000-7eff0575d000: /lib/libm-2.15.so
- 7eff0595e000-7eff05965000: /lib/librt-2.15.so
- 7eff05b66000-7eff05b7e000: /lib/libpthread-2.15.so
- 7eff05d83000-7eff05d86000: /lib/libdl-2.15.so
- 7eff05f87000-7eff05f90000: /lib/libcrypt-2.15.so
- 7eff061c0000-7eff061e4000: /lib/ld-2.15.so
- 7fff2edff000-7fff2ee00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all.string
deleted file mode 100644
index c7c0f02405..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.all.string
+++ /dev/null
@@ -1,28 +0,0 @@
-PeriodType: thread count
-Period: 1
-Samples:
-thread/count
- 1: 1 2 3
- 1: 4 5 6 3
- 2: 1 5 7 3
-Locations
- 1: 0xbc8f1c M=1
- 2: 0x40be30 M=1
- 3: 0x7eff052e111c M=4
- 4: 0x7eff05b74f7d M=7
- 5: 0x7eff05b6d14d M=7
- 6: 0x40bce3 M=1
- 7: 0x40bd6d M=1
-Mappings
-1: 0x400000/0xfcb000/0x0 /home/rsilvera/cppbench/cppbench_server_main
-2: 0x7eff04e98000/0x7eff04e9b000/0x0 /lib/libnss_cache-2.15.so
-3: 0x7eff0509c000/0x7eff050a8000/0x0 /lib/libnss_files-2.15.so
-4: 0x7eff052a9000/0x7eff05457000/0x0 /lib/libc-2.15.so
-5: 0x7eff05662000/0x7eff0575d000/0x0 /lib/libm-2.15.so
-6: 0x7eff0595e000/0x7eff05965000/0x0 /lib/librt-2.15.so
-7: 0x7eff05b66000/0x7eff05b7e000/0x0 /lib/libpthread-2.15.so
-8: 0x7eff05d83000/0x7eff05d86000/0x0 /lib/libdl-2.15.so
-9: 0x7eff05f87000/0x7eff05f90000/0x0 /lib/libcrypt-2.15.so
-10: 0x7eff061c0000/0x7eff061e4000/0x0 /lib/ld-2.15.so
-11: 0x7fff2edff000/0x7fff2ee00000/0x0 [vdso]
-12: 0xffffffffff600000/0xffffffffff601000/0x0 [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none
deleted file mode 100644
index 6ab24214d2..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none
+++ /dev/null
@@ -1,27 +0,0 @@
---- threadz 1 ---
-
---- Thread 7eff063d9940 (name: main/25376) stack: ---
- PC: 0xbc8f1c 0xbcae55 0xbcb5f5 0x40b688 0x4d5f51 0x40be31 0x7eff052e111d
---- Thread 7eff04b95700 (name: thread1/25380) stack: ---
- PC: 0xbc8f1c 0xbcbd00 0xa47f60 0xa456e4 0x7eff05b6d14e
- creator: 0xa45b96 0xa48928 0xbaa17f 0xbaa9f9 0xbb0d21 0x40bce4 0x7eff052e111d
---- Thread 7eff04893700 (name: thread2/25381) stack: ---
- PC: 0x7eff052dfa93 0x7a1956 0x7a1c45 0x7a2727 0x7a296d 0xa456e4
- 0x7eff05b6d14e
- creator: 0xa45b96 0x7a37d2 0x7a3e8d 0xbbff77 0x79ec1c 0x40bd6e 0x7eff052e111d
---- Thread 7eff04770700 (name: thread3/25382) stack: ---
- PC: 0xbc8f1c 0x7a2691 0x7a296d 0xa456e4 0x7eff05b6d14e
- creator: 0xa45b96 0x7a37d2 0x7a3e8d 0xbbff77 0x79ec1c 0x40bd6e 0x7eff052e111d
---- Memory map: ---
- 00400000-00fcb000: /home/rsilvera/cppbench/cppbench_server_main.unstripped
- 7eff04e98000-7eff04e9b000: /lib/libnss_cache-2.15.so
- 7eff0509c000-7eff050a8000: /lib/libnss_files-2.15.so
- 7eff052a9000-7eff05457000: /lib/libc-2.15.so
- 7eff05662000-7eff0575d000: /lib/libm-2.15.so
- 7eff0595e000-7eff05965000: /lib/librt-2.15.so
- 7eff05b66000-7eff05b7e000: /lib/libpthread-2.15.so
- 7eff05d83000-7eff05d86000: /lib/libdl-2.15.so
- 7eff05f87000-7eff05f90000: /lib/libcrypt-2.15.so
- 7eff061c0000-7eff061e4000: /lib/ld-2.15.so
- 7fff2edff000-7fff2ee00000: [vdso]
- ffffffffff600000-ffffffffff601000: [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none.string
deleted file mode 100644
index af0ad3cb7c..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.none.string
+++ /dev/null
@@ -1,50 +0,0 @@
-PeriodType: thread count
-Period: 1
-Samples:
-thread/count
- 1: 1 2 3 4 5 6 7
- 1: 1 8 9 10 11 12 13 14 15 16 17 7
- 1: 18 19 20 21 22 10 11 12 23 24 25 26 27 7
- 1: 1 28 22 10 11 12 23 24 25 26 27 7
-Locations
- 1: 0xbc8f1c M=1
- 2: 0xbcae54 M=1
- 3: 0xbcb5f4 M=1
- 4: 0x40b687 M=1
- 5: 0x4d5f50 M=1
- 6: 0x40be30 M=1
- 7: 0x7eff052e111c M=4
- 8: 0xbcbcff M=1
- 9: 0xa47f5f M=1
- 10: 0xa456e3 M=1
- 11: 0x7eff05b6d14d M=7
- 12: 0xa45b95 M=1
- 13: 0xa48927 M=1
- 14: 0xbaa17e M=1
- 15: 0xbaa9f8 M=1
- 16: 0xbb0d20 M=1
- 17: 0x40bce3 M=1
- 18: 0x7eff052dfa93 M=4
- 19: 0x7a1955 M=1
- 20: 0x7a1c44 M=1
- 21: 0x7a2726 M=1
- 22: 0x7a296c M=1
- 23: 0x7a37d1 M=1
- 24: 0x7a3e8c M=1
- 25: 0xbbff76 M=1
- 26: 0x79ec1b M=1
- 27: 0x40bd6d M=1
- 28: 0x7a2690 M=1
-Mappings
-1: 0x400000/0xfcb000/0x0 /home/rsilvera/cppbench/cppbench_server_main.unstripped
-2: 0x7eff04e98000/0x7eff04e9b000/0x0 /lib/libnss_cache-2.15.so
-3: 0x7eff0509c000/0x7eff050a8000/0x0 /lib/libnss_files-2.15.so
-4: 0x7eff052a9000/0x7eff05457000/0x0 /lib/libc-2.15.so
-5: 0x7eff05662000/0x7eff0575d000/0x0 /lib/libm-2.15.so
-6: 0x7eff0595e000/0x7eff05965000/0x0 /lib/librt-2.15.so
-7: 0x7eff05b66000/0x7eff05b7e000/0x0 /lib/libpthread-2.15.so
-8: 0x7eff05d83000/0x7eff05d86000/0x0 /lib/libdl-2.15.so
-9: 0x7eff05f87000/0x7eff05f90000/0x0 /lib/libcrypt-2.15.so
-10: 0x7eff061c0000/0x7eff061e4000/0x0 /lib/ld-2.15.so
-11: 0x7fff2edff000/0x7fff2ee00000/0x0 [vdso]
-12: 0xffffffffff600000/0xffffffffff601000/0x0 [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.string
deleted file mode 100644
index bf3f0f36b9..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/cppbench.thread.string
+++ /dev/null
@@ -1,33 +0,0 @@
-PeriodType: thread count
-Period: 1
-Samples:
-thread/count
- 1: 1 2 3
- 1: 4 5 6 7 8 9 10 11 3
- 2: 1 5 6 12 8 9 10 11 3
-Locations
- 1: 0xbc8f1c M=1
- 2: 0x40be30 M=1
- 3: 0x7f7949a9811c M=4
- 4: 0x7f794a32bf7d M=7
- 5: 0x7f794a32414d M=7
- 6: 0xa45b95 M=1
- 7: 0xa460b3 M=1
- 8: 0xbaa17e M=1
- 9: 0xbaa9f8 M=1
- 10: 0xbb0d20 M=1
- 11: 0x40bce3 M=1
- 12: 0xa48927 M=1
-Mappings
-1: 0x400000/0xfcb000/0x0 /home/rsilvera/cppbench/cppbench_server_main
-2: 0x7f794964f000/0x7f7949652000/0x0 /lib/libnss_cache-2.15.so
-3: 0x7f7949853000/0x7f794985f000/0x0 /lib/libnss_files-2.15.so
-4: 0x7f7949a60000/0x7f7949c0e000/0x0 /lib/libc-2.15.so
-5: 0x7f7949e19000/0x7f7949f14000/0x0 /lib/libm-2.15.so
-6: 0x7f794a115000/0x7f794a11c000/0x0 /lib/librt-2.15.so
-7: 0x7f794a31d000/0x7f794a335000/0x0 /lib/libpthread-2.15.so
-8: 0x7f794a53a000/0x7f794a53d000/0x0 /lib/libdl-2.15.so
-9: 0x7f794a73e000/0x7f794a747000/0x0 /lib/libcrypt-2.15.so
-10: 0x7f794a977000/0x7f794a99b000/0x0 /lib/ld-2.15.so
-11: 0x7fffb8dff000/0x7fffb8e00000/0x0 [vdso]
-12: 0xffffffffff600000/0xffffffffff601000/0x0 [vsyscall]
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpu b/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpu
deleted file mode 100644
index ce08313de0..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpu
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpu.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpu.string
deleted file mode 100644
index c2838b8cf7..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.crc32.cpu.string
+++ /dev/null
@@ -1,87 +0,0 @@
-PeriodType: cpu nanoseconds
-Period: 10000000
-Samples:
-samples/count cpu/nanoseconds
- 1 10000000: 1 2 3 4 5
- 2 20000000: 6 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 2 20000000: 8 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 4 40000000: 7 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 2 20000000: 6 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 2 20000000: 6 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 2 20000000: 8 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 2 20000000: 1 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 3 30000000: 7 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 2 20000000: 1 2 3 4 5
- 2 20000000: 7 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 2 20000000: 7 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 2 20000000: 6 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 6 2 3 4 5
- 1 10000000: 8 2 3 4 5
- 1 10000000: 1 2 3 4 5
- 85 850000000: 9 2 3 4 5
- 21 210000000: 10 2 3 4 5
- 1 10000000: 7 2 3 4 5
- 24 240000000: 11 2 3 4 5
-Locations
- 1: 0x430b93 M=1
- 2: 0x4317eb M=1
- 3: 0x42a065 M=1
- 4: 0x42a31b M=1
- 5: 0x415d0f M=1
- 6: 0x430baa M=1
- 7: 0x430bb5 M=1
- 8: 0x430ba6 M=1
- 9: 0x430bac M=1
- 10: 0x430b9f M=1
- 11: 0x430bb3 M=1
-Mappings
-1: 0x0/0xffffffffffffffff/0x0
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread b/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread
deleted file mode 100644
index 1c8582b59d..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread
+++ /dev/null
@@ -1,8 +0,0 @@
-threadcreate profile: total 7
-1 @ 0x44cb3 0x45045 0x45323 0x45534 0x47e9c 0x47c98 0x44ba2 0x2720fe 0x271fb5
-1 @ 0x44cb3 0x45045 0x45323 0x45534 0x46716 0x51584 0x461e0
-1 @ 0x44cb3 0x45045 0x45323 0x45547 0x46716 0x40963 0x461e0
-1 @ 0x44cb3 0x45045 0x45323 0x45547 0x4562e 0x460ed 0x51a59
-1 @ 0x44cb3 0x45045 0x441ae 0x461e0
-1 @ 0x44cb3 0x44e04 0x44b80 0x5192d
-1 @ 0x440e2 0x5191a
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread.string
deleted file mode 100644
index 095f7cee7b..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/go.godoc.thread.string
+++ /dev/null
@@ -1,37 +0,0 @@
-PeriodType: threadcreate count
-Period: 1
-Samples:
-threadcreate/count
- 1: 1 2 3 4 5 6 7 8 9
- 1: 1 2 3 4 10 11 12
- 1: 1 2 3 13 10 14 12
- 1: 1 2 3 13 15 16 17
- 1: 1 2 18 12
- 1: 1 19 20 21
- 1: 22 23
-Locations
- 1: 0x44cb2 M=1
- 2: 0x45044 M=1
- 3: 0x45322 M=1
- 4: 0x45533 M=1
- 5: 0x47e9b M=1
- 6: 0x47c97 M=1
- 7: 0x44ba1 M=1
- 8: 0x2720fd M=1
- 9: 0x271fb4 M=1
- 10: 0x46715 M=1
- 11: 0x51583 M=1
- 12: 0x461df M=1
- 13: 0x45546 M=1
- 14: 0x40962 M=1
- 15: 0x4562d M=1
- 16: 0x460ec M=1
- 17: 0x51a58 M=1
- 18: 0x441ad M=1
- 19: 0x44e03 M=1
- 20: 0x44b7f M=1
- 21: 0x5192c M=1
- 22: 0x440e1 M=1
- 23: 0x51919 M=1
-Mappings
-1: 0x0/0xffffffffffffffff/0x0
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpu b/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpu
deleted file mode 100644
index e921d21af3..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpu
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpu.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpu.string
deleted file mode 100644
index 7df1533ab8..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.cpu.string
+++ /dev/null
@@ -1,415 +0,0 @@
-PeriodType: cpu nanoseconds
-Period: 10000000
-Samples:
-samples/count cpu/nanoseconds
- 1 10000000: 1 2
- 1 10000000: 3 2
- 1 10000000: 4 2
- 1 10000000: 5 2
- 1 10000000: 6 2
- 1 10000000: 7 2
- 1 10000000: 8 2
- 1 10000000: 9 2
- 1 10000000: 10 2
- 1 10000000: 11 2
- 1 10000000: 12 2
- 1 10000000: 13 2
- 1 10000000: 14 2
- 1 10000000: 15 2
- 1 10000000: 16 2
- 1 10000000: 17 2
- 1 10000000: 18 2
- 1 10000000: 16 2
- 1 10000000: 19 2
- 1 10000000: 20 2
- 1 10000000: 21 2
- 1 10000000: 22 2
- 1 10000000: 23 2
- 1 10000000: 24 2
- 1 10000000: 25 2
- 1 10000000: 15 2
- 1 10000000: 26 2
- 1 10000000: 9 2
- 1 10000000: 27 2
- 1 10000000: 28 2
- 1 10000000: 29 2
- 1 10000000: 30 2
- 1 10000000: 31 2
- 1 10000000: 32 2
- 1 10000000: 24 2
- 1 10000000: 30 2
- 1 10000000: 33 2
- 1 10000000: 34 2
- 1 10000000: 35 2
- 1 10000000: 36 2
- 1 10000000: 27 2
- 1 10000000: 37 2
- 1 10000000: 38 2
- 1 10000000: 19 2
- 1 10000000: 39 2
- 1 10000000: 40 2
- 1 10000000: 41 2
- 1 10000000: 16 2
- 1 10000000: 42 2
- 1 10000000: 43 2
- 1 10000000: 44 2
- 1 10000000: 45 2
- 1 10000000: 46 2
- 1 10000000: 47 2
- 1 10000000: 48 2
- 1 10000000: 40 2
- 1 10000000: 10 2
- 1 10000000: 49 2
- 1 10000000: 50 2
- 1 10000000: 51 2
- 1 10000000: 52 2
- 1 10000000: 53 2
- 1 10000000: 30 2
- 1 10000000: 54 2
- 1 10000000: 55 2
- 1 10000000: 36 2
- 1 10000000: 56 2
- 1 10000000: 57 2
- 1 10000000: 58 2
- 1 10000000: 59 2
- 1 10000000: 60 2
- 1 10000000: 61 2
- 1 10000000: 57 2
- 1 10000000: 62 2
- 1 10000000: 63 2
- 1 10000000: 30 2
- 1 10000000: 64 2
- 1 10000000: 16 2
- 1 10000000: 65 2
- 1 10000000: 26 2
- 1 10000000: 40 2
- 1 10000000: 66 2
- 1 10000000: 58 2
- 1 10000000: 67 2
- 1 10000000: 68 2
- 1 10000000: 69 2
- 1 10000000: 70 2
- 1 10000000: 71 2
- 1 10000000: 72 2
- 1 10000000: 51 2
- 1 10000000: 73 2
- 1 10000000: 74 2
- 1 10000000: 75 2
- 1 10000000: 76 2
- 1 10000000: 77 2
- 1 10000000: 78 2
- 1 10000000: 79 2
- 1 10000000: 80 2
- 1 10000000: 81 2
- 1 10000000: 82 2
- 1 10000000: 83 2
- 1 10000000: 84 2
- 1 10000000: 85 2
- 1 10000000: 86 2
- 1 10000000: 10 2
- 1 10000000: 87 2
- 1 10000000: 88 2
- 1 10000000: 89 2
- 1 10000000: 90 2
- 1 10000000: 63 2
- 1 10000000: 91 2
- 1 10000000: 5 2
- 1 10000000: 92 2
- 1 10000000: 93 2
- 1 10000000: 94 2
- 1 10000000: 19 2
- 1 10000000: 95 2
- 1 10000000: 30 2
- 1 10000000: 96 2
- 1 10000000: 10 2
- 1 10000000: 97 2
- 1 10000000: 98 2
- 1 10000000: 99 2
- 1 10000000: 62 2
- 1 10000000: 92 2
- 1 10000000: 100 2
- 1 10000000: 101 2
- 1 10000000: 39 2
- 1 10000000: 102 2
- 1 10000000: 86 2
- 1 10000000: 33 2
- 1 10000000: 103 2
- 1 10000000: 104 2
- 1 10000000: 13 2
- 2 20000000: 105 2
- 1 10000000: 106 2
- 1 10000000: 52 2
- 1 10000000: 24 2
- 1 10000000: 107 2
- 1 10000000: 108 2
- 1 10000000: 52 2
- 1 10000000: 109 2
- 1 10000000: 5 2
- 1 10000000: 82 2
- 1 10000000: 8 2
- 1 10000000: 110 2
- 1 10000000: 111 2
- 1 10000000: 112 2
- 1 10000000: 113 2
- 1 10000000: 114 2
- 1 10000000: 115 2
- 1 10000000: 116 2
- 1 10000000: 19 2
- 1 10000000: 64 2
- 1 10000000: 106 2
- 1 10000000: 117 2
- 1 10000000: 30 2
- 1 10000000: 118 2
- 1 10000000: 86 2
- 1 10000000: 119 2
- 1 10000000: 120 2
- 1 10000000: 121 2
- 1 10000000: 81 2
- 2 20000000: 10 2
- 1 10000000: 19 2
- 1 10000000: 122 2
- 1 10000000: 123 2
- 1 10000000: 105 2
- 1 10000000: 124 2
- 1 10000000: 125 2
- 1 10000000: 46 2
- 1 10000000: 8 2
- 10 100000000: 21 2
- 7 70000000: 126 2
- 3 30000000: 9 2
- 1 10000000: 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
- 1 10000000: 144 2
- 5 50000000: 145 2
- 25 250000000: 146 2
- 1 10000000: 147 2
- 1 10000000: 148 149 150 134 135 136 137 138 139 140 141 142 143
- 1 10000000: 151 152 153 154 155 135 136 137 138 139 140 141 142 143
- 1 10000000: 156 157 153 154 155 135 136 137 138 139 140 141 142 143
- 1 10000000: 158 159 132 133 134 135 136 137 138 139 140 141 142 143
- 4 40000000: 27 2
- 4 40000000: 160 2
- 1 10000000: 116 2
- 5 50000000: 161 2
- 20 200000000: 162 163 164 135 136 137 138 139 140 141 142 143
- 1 10000000: 165 166 167 164 135 136 137 138 139 140 141 142 143
- 1 10000000: 168 169 167 164 135 136 137 138 139 140 141 142 143
- 2 20000000: 170 171 172 142 143
- 2 20000000: 173 171 172 142 143
- 1 10000000: 105 174 175 154 155 176 177 140 141 142 143
- 1 10000000: 178 179 176 177 140 141 142 143
- 1 10000000: 180 181 182 181 183 184 185 186 187 188 189 190 191 192 193 194 143
- 7 70000000: 195 2
- 2 20000000: 196 2
- 8 80000000: 16 2
- 1 10000000: 197 2
- 1 10000000: 146 198 199 135 136 137 138 139 140 141 142 143
- 1 10000000: 200 199 135 136 137 138 139 140 141 142 143
- 3 30000000: 162 179 135 136 137 138 139 140 141 142 143
- 1 10000000: 201 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
- 1 10000000: 202 167 152 153 154 155 135 136 137 138 139 140 141 142 143
- 6 60000000: 162 163 152 153 154 155 135 136 137 138 139 140 141 142 143
-Locations
- 1: 0x410bc0 M=1
- 2: 0x41a770 M=1
- 3: 0x410b4b M=1
- 4: 0x40f534 M=1
- 5: 0x40f018 M=1
- 6: 0x421f4f M=1
- 7: 0x40e46f M=1
- 8: 0x40f0e3 M=1
- 9: 0x4286c7 M=1
- 10: 0x40f15b M=1
- 11: 0x40efb1 M=1
- 12: 0x41250d M=1
- 13: 0x427854 M=1
- 14: 0x40e688 M=1
- 15: 0x410b61 M=1
- 16: 0x40fa72 M=1
- 17: 0x40e92a M=1
- 18: 0x421ff1 M=1
- 19: 0x42830d M=1
- 20: 0x41cf23 M=1
- 21: 0x40e7cb M=1
- 22: 0x40ea46 M=1
- 23: 0x40f792 M=1
- 24: 0x40f023 M=1
- 25: 0x40ee50 M=1
- 26: 0x40c6ab M=1
- 27: 0x40fa51 M=1
- 28: 0x40f14b M=1
- 29: 0x421fca M=1
- 30: 0x4285d3 M=1
- 31: 0x410ba9 M=1
- 32: 0x40e75f M=1
- 33: 0x4277a1 M=1
- 34: 0x40e89f M=1
- 35: 0x40ea54 M=1
- 36: 0x40f0ab M=1
- 37: 0x40ef9b M=1
- 38: 0x410d6a M=1
- 39: 0x40e455 M=1
- 40: 0x427856 M=1
- 41: 0x40e80b M=1
- 42: 0x40f5ef M=1
- 43: 0x40fb2a M=1
- 44: 0x422786 M=1
- 45: 0x40f031 M=1
- 46: 0x40f49d M=1
- 47: 0x40f331 M=1
- 48: 0x40e927 M=1
- 49: 0x40f558 M=1
- 50: 0x410b56 M=1
- 51: 0x40eac1 M=1
- 52: 0x40e813 M=1
- 53: 0x40e7df M=1
- 54: 0x40f53d M=1
- 55: 0x40f180 M=1
- 56: 0x410b94 M=1
- 57: 0x40fbf6 M=1
- 58: 0x40f026 M=1
- 59: 0x40f0dc M=1
- 60: 0x40e9d3 M=1
- 61: 0x40fa7b M=1
- 62: 0x40e877 M=1
- 63: 0x4048a8 M=1
- 64: 0x40f02e M=1
- 65: 0x4048b8 M=1
- 66: 0x4277d0 M=1
- 67: 0x40f5cb M=1
- 68: 0x40fbae M=1
- 69: 0x40e8c2 M=1
- 70: 0x40f64b M=1
- 71: 0x40e82e M=1
- 72: 0x421f22 M=1
- 73: 0x40fa67 M=1
- 74: 0x40fbb1 M=1
- 75: 0x40f568 M=1
- 76: 0x40e461 M=1
- 77: 0x40ef85 M=1
- 78: 0x40f58b M=1
- 79: 0x40f08d M=1
- 80: 0x40e75c M=1
- 81: 0x410c22 M=1
- 82: 0x40fa59 M=1
- 83: 0x40f091 M=1
- 84: 0x40eb69 M=1
- 85: 0x41075a M=1
- 86: 0x40e7e9 M=1
- 87: 0x40fa97 M=1
- 88: 0x4131eb M=1
- 89: 0x40f769 M=1
- 90: 0x40f54e M=1
- 91: 0x4277d5 M=1
- 92: 0x40f0ca M=1
- 93: 0x40f051 M=1
- 94: 0x40e94f M=1
- 95: 0x40fc11 M=1
- 96: 0x41815b M=1
- 97: 0x40f4b3 M=1
- 98: 0x421fe8 M=1
- 99: 0x40e79e M=1
- 100: 0x413f29 M=1
- 101: 0x427822 M=1
- 102: 0x40ef3d M=1
- 103: 0x40e440 M=1
- 104: 0x40e767 M=1
- 105: 0x42783b M=1
- 106: 0x40fa85 M=1
- 107: 0x40fb36 M=1
- 108: 0x410bae M=1
- 109: 0x40f0d7 M=1
- 110: 0x410ba4 M=1
- 111: 0x40e87b M=1
- 112: 0x40e7c0 M=1
- 113: 0x40eae0 M=1
- 114: 0x410a99 M=1
- 115: 0x40e7bd M=1
- 116: 0x40f09d M=1
- 117: 0x410b70 M=1
- 118: 0x40f32d M=1
- 119: 0x4283ec M=1
- 120: 0x40f010 M=1
- 121: 0x40e97a M=1
- 122: 0x40f19a M=1
- 123: 0x40e779 M=1
- 124: 0x40f61d M=1
- 125: 0x40f4e1 M=1
- 126: 0x40f58f M=1
- 127: 0x41ef43 M=1
- 128: 0x41ef96 M=1
- 129: 0x41f089 M=1
- 130: 0x41f360 M=1
- 131: 0x41fc8e M=1
- 132: 0x4204c7 M=1
- 133: 0x422b03 M=1
- 134: 0x420cee M=1
- 135: 0x422150 M=1
- 136: 0x4221d9 M=1
- 137: 0x41dc0c M=1
- 138: 0x41db47 M=1
- 139: 0x672125 M=1
- 140: 0x4ac6fd M=1
- 141: 0x4abf98 M=1
- 142: 0x491fbd M=1
- 143: 0x41931f M=1
- 144: 0x40e844 M=1
- 145: 0x421ff8 M=1
- 146: 0x4277e4 M=1
- 147: 0x40e990 M=1
- 148: 0x41c53f M=1
- 149: 0x422746 M=1
- 150: 0x422b42 M=1
- 151: 0x412b5f M=1
- 152: 0x40d47b M=1
- 153: 0x40cf5e M=1
- 154: 0x40cceb M=1
- 155: 0x420b5e M=1
- 156: 0x413ab9 M=1
- 157: 0x40d56e M=1
- 158: 0x41f5a6 M=1
- 159: 0x420149 M=1
- 160: 0x40f531 M=1
- 161: 0x410b8d M=1
- 162: 0x427ac9 M=1
- 163: 0x412b91 M=1
- 164: 0x420ee3 M=1
- 165: 0x4134a8 M=1
- 166: 0x412dc7 M=1
- 167: 0x412afa M=1
- 168: 0x413a9d M=1
- 169: 0x412bf6 M=1
- 170: 0x671ed3 M=1
- 171: 0x4ac6ad M=1
- 172: 0x4abdd8 M=1
- 173: 0x671ebe M=1
- 174: 0x40c8ae M=1
- 175: 0x40d00a M=1
- 176: 0x422081 M=1
- 177: 0x672148 M=1
- 178: 0x427ad1 M=1
- 179: 0x420e54 M=1
- 180: 0x5718ff M=1
- 181: 0x575ab6 M=1
- 182: 0x572114 M=1
- 183: 0x571257 M=1
- 184: 0x462494 M=1
- 185: 0x475ea6 M=1
- 186: 0x473682 M=1
- 187: 0x471fd7 M=1
- 188: 0x471ac0 M=1
- 189: 0x46f1b2 M=1
- 190: 0x46ef32 M=1
- 191: 0x4ab9e0 M=1
- 192: 0x4acce1 M=1
- 193: 0x4ac7b6 M=1
- 194: 0x4ace6a M=1
- 195: 0x410b8a M=1
- 196: 0x40f56e M=1
- 197: 0x428176 M=1
- 198: 0x4120f3 M=1
- 199: 0x420be8 M=1
- 200: 0x412100 M=1
- 201: 0x41ef39 M=1
- 202: 0x412e38 M=1
-Mappings
-1: 0x0/0xffffffffffffffff/0x0
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap b/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap
deleted file mode 100644
index ed44903424..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap
+++ /dev/null
@@ -1,16 +0,0 @@
-heap profile: 13: 1595680 [47130736: 2584596557304] @ heap/1048576
-1: 524288 [3: 1572864] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41db48 0x74920f 0x6295ac 0x629855 0x462769 0x419320
-1: 524288 [1: 524288] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41db48 0x74920f 0x63963f 0x419320
-1: 262144 [1: 262144] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41db48 0x451a39 0x451ba5 0x450683 0x450077 0x4525a4 0x58e034 0x419320
-1: 262144 [1: 262144] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41db48 0x451a39 0x451ba5 0x450683 0x450077 0x4524d4 0x401090 0x4011a1 0x416dff 0x419320
-1: 10240 [642: 6574080] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41db48 0x477637 0x47718b 0x477056 0x4799b2 0x46bfd7 0x419320
-1: 4096 [1: 4096] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41db48 0x526126 0x5261ea 0x4683d4 0x467e09 0x419320
-1: 4096 [1: 4096] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41db48 0x53fbf3 0x53f85f 0x545f52 0x545a70 0x419320
-1: 2048 [1: 2048] @ 0x420cef 0x420fa9 0x414b22 0x414d20 0x4901be 0x419320
-1: 1280 [1: 1280] @ 0x420cef 0x422082 0x48dbe3 0x48d15c 0x48cdd0 0x4a9dc0 0x545bfe 0x543ac7 0x419320
-1: 384 [1: 384] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41dd68 0x41dcbd 0x429150 0x429add 0x42e013 0x4307e2 0x4366ff 0x42c1c2 0x653e4d 0x64bdc5 0x64c359 0x65a73d 0x64cdb1 0x64be73 0x64c359 0x64c59a 0x64c205 0x64c359 0x64b778 0x5cd55c 0x45dbc3 0x543e70 0x559166 0x55ba54 0x559691 0x559985 0x5a19ff 0x543e70
-1: 288 [1: 288] @ 0x420cef 0x420fa9 0x419e19 0x41a1a8 0x419f63 0x48f09f 0x48d991 0x48cdd0 0x4a9dc0 0x545bfe 0x543ac7 0x419320
-1: 288 [2: 296] @
-1: 96 [1: 96] @ 0x420cef 0x424f35 0x4255d1 0x6fc293 0x6f9c88 0x6f9944 0x6f96be 0x6f966b 0x59f39a 0x468318 0x467e09 0x419320
-0: 0 [1: 1024] @ 0x420cef 0x422151 0x4221da 0x41dc0d 0x41dd68 0x41dcbd 0x6d71a3 0x6da87d 0x7b2c3b 0x419320
-0: 0 [1: 16] @ 0x420cef 0x422048 0x40b517 0x40b746 0x6d9ca2 0x4761c5 0x475ea7 0x46fc4f 0x46f180 0x46ef33 0x4ab821 0x4acc32 0x4ac7b7 0x4ace36 0x419320
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap.string
deleted file mode 100644
index 01306ce68f..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/gobench.heap.string
+++ /dev/null
@@ -1,137 +0,0 @@
-PeriodType: space bytes
-Period: 524288
-Samples:
-alloc_objects/count alloc_space/bytes inuse_objects/count inuse_space/bytes
- 4 2488234 1 829411: 1 2 3 4 5 6 7 8 9 10
- bytes:[524288]
- 1 829411 1 829411: 1 2 3 4 5 6 11 10
- bytes:[524288]
- 2 666237 2 666237: 1 2 3 4 5 12 13 14 15 16 17 10
- bytes:[262144]
- 2 666237 2 666237: 1 2 3 4 5 12 13 14 15 18 19 20 21 10
- bytes:[262144]
- 33192 339890635 51 529424: 1 2 3 4 5 22 23 24 25 26 10
- bytes:[10240]
- 128 526338 128 526338: 1 2 3 4 5 27 28 29 30 10
- bytes:[4096]
- 128 526338 128 526338: 1 2 3 4 5 31 32 33 34 10
- bytes:[4096]
- 256 525312 256 525312: 1 35 36 37 38 10
- bytes:[2048]
- 410 524928 410 524928: 1 39 40 41 42 43 44 45 10
- bytes:[1280]
- 1365 524480 1365 524480: 1 2 3 4 46 47 48 49 50 51 52 53 54 55 56 57 58 59 56 60 61 56 62 63 64 65 66 67 68 69 70 65
- bytes:[384]
- 1820 524432 1820 524432: 1 35 71 72 73 74 75 42 43 44 45 10
- bytes:[288]
- 7085 1048724 1820 524432:
- bytes:[288]
- 5461 524336 5461 524336: 1 76 77 78 79 80 81 82 83 84 30 10
- bytes:[96]
- 512 524800 0 0: 1 2 3 4 46 47 85 86 87 10
- bytes:[1024]
- 32768 524296 0 0: 1 88 89 90 91 92 93 94 95 96 97 98 99 100 10
- bytes:[16]
-Locations
- 1: 0x420cee M=1
- 2: 0x422150 M=1
- 3: 0x4221d9 M=1
- 4: 0x41dc0c M=1
- 5: 0x41db47 M=1
- 6: 0x74920e M=1
- 7: 0x6295ab M=1
- 8: 0x629854 M=1
- 9: 0x462768 M=1
- 10: 0x41931f M=1
- 11: 0x63963e M=1
- 12: 0x451a38 M=1
- 13: 0x451ba4 M=1
- 14: 0x450682 M=1
- 15: 0x450076 M=1
- 16: 0x4525a3 M=1
- 17: 0x58e033 M=1
- 18: 0x4524d3 M=1
- 19: 0x40108f M=1
- 20: 0x4011a0 M=1
- 21: 0x416dfe M=1
- 22: 0x477636 M=1
- 23: 0x47718a M=1
- 24: 0x477055 M=1
- 25: 0x4799b1 M=1
- 26: 0x46bfd6 M=1
- 27: 0x526125 M=1
- 28: 0x5261e9 M=1
- 29: 0x4683d3 M=1
- 30: 0x467e08 M=1
- 31: 0x53fbf2 M=1
- 32: 0x53f85e M=1
- 33: 0x545f51 M=1
- 34: 0x545a6f M=1
- 35: 0x420fa8 M=1
- 36: 0x414b21 M=1
- 37: 0x414d1f M=1
- 38: 0x4901bd M=1
- 39: 0x422081 M=1
- 40: 0x48dbe2 M=1
- 41: 0x48d15b M=1
- 42: 0x48cdcf M=1
- 43: 0x4a9dbf M=1
- 44: 0x545bfd M=1
- 45: 0x543ac6 M=1
- 46: 0x41dd67 M=1
- 47: 0x41dcbc M=1
- 48: 0x42914f M=1
- 49: 0x429adc M=1
- 50: 0x42e012 M=1
- 51: 0x4307e1 M=1
- 52: 0x4366fe M=1
- 53: 0x42c1c1 M=1
- 54: 0x653e4c M=1
- 55: 0x64bdc4 M=1
- 56: 0x64c358 M=1
- 57: 0x65a73c M=1
- 58: 0x64cdb0 M=1
- 59: 0x64be72 M=1
- 60: 0x64c599 M=1
- 61: 0x64c204 M=1
- 62: 0x64b777 M=1
- 63: 0x5cd55b M=1
- 64: 0x45dbc2 M=1
- 65: 0x543e6f M=1
- 66: 0x559165 M=1
- 67: 0x55ba53 M=1
- 68: 0x559690 M=1
- 69: 0x559984 M=1
- 70: 0x5a19fe M=1
- 71: 0x419e18 M=1
- 72: 0x41a1a7 M=1
- 73: 0x419f62 M=1
- 74: 0x48f09e M=1
- 75: 0x48d990 M=1
- 76: 0x424f34 M=1
- 77: 0x4255d0 M=1
- 78: 0x6fc292 M=1
- 79: 0x6f9c87 M=1
- 80: 0x6f9943 M=1
- 81: 0x6f96bd M=1
- 82: 0x6f966a M=1
- 83: 0x59f399 M=1
- 84: 0x468317 M=1
- 85: 0x6d71a2 M=1
- 86: 0x6da87c M=1
- 87: 0x7b2c3a M=1
- 88: 0x422047 M=1
- 89: 0x40b516 M=1
- 90: 0x40b745 M=1
- 91: 0x6d9ca1 M=1
- 92: 0x4761c4 M=1
- 93: 0x475ea6 M=1
- 94: 0x46fc4e M=1
- 95: 0x46f17f M=1
- 96: 0x46ef32 M=1
- 97: 0x4ab820 M=1
- 98: 0x4acc31 M=1
- 99: 0x4ac7b6 M=1
- 100: 0x4ace35 M=1
-Mappings
-1: 0x0/0xffffffffffffffff/0x0
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention b/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention
deleted file mode 100644
index fb484b70a4..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention
+++ /dev/null
@@ -1,43 +0,0 @@
---- contentionz 1 ---
-format = java
-resolution = microseconds
-sampling period = 100
-ms since reset = 6019923
- 1 1 @ 0x00000003 0x00000004
- 14 1 @ 0x0000000d 0x0000000e 0x0000000f 0x00000010 0x00000011 0x00000012 0x00000013 0x00000014 0x00000017 0x00000018 0x00000019 0x0000001a 0x0000001b 0x0000001c 0x00000014 0x00000029 0x0000002a 0x0000002b 0x0000002c 0x0000002d 0x0000002e 0x0000002f 0x00000030 0x00000031 0x00000032 0x00000033 0x00000034 0x00000035
- 2 2 @ 0x00000003 0x00000004
- 2 3 @ 0x00000036 0x00000037 0x00000038
-
-
- 0x0000003 com.example.function03 (source.java:03)
- 0x0000004 com.example.function04 (source.java:04)
- 0x000000d com.example.function0d (source.java:0)
- 0x000000e com.example.function0e (source.java:0)
- 0x000000f com.example.function0f (source.java:0)
- 0x0000010 com.example.function10 (source.java:10)
- 0x0000011 com.example.function11 (source.java:11)
- 0x0000012 com.example.function12 (source.java:12)
- 0x0000013 com.example.function13 (source.java:13)
- 0x0000014 com.example.function14 (source.java:14)
- 0x0000017 com.example.function17 (source.java:17)
- 0x0000018 com.example.function18 (source.java:18)
- 0x0000019 com.example.function19 (source.java:19)
- 0x000001a com.example.function1a (source.java:1)
- 0x000001b com.example.function1b (source.java:1)
- 0x000001c com.example.function1c (source.java:1)
- 0x0000029 com.example.function29 (source.java:29)
- 0x000002a com.example.function2a (source.java:2)
- 0x000002b com.example.function2b (source.java:2)
- 0x000002c com.example.function2c (source.java:2)
- 0x000002d com.example.function2d (source.java:2)
- 0x000002e com.example.function2e (source.java:2)
- 0x000002f com.example.function2f (source.java:2)
- 0x0000030 com.example.function30 (source.java:30)
- 0x0000031 com.example.function31 (source.java:31)
- 0x0000032 com.example.function32 (source.java:32)
- 0x0000033 com.example.function33 (source.java:33)
- 0x0000034 com.example.function34 (source.java:34)
- 0x0000035 com.example.function35 (source.java:35)
- 0x0000036 com.example.function36 (source.java:36)
- 0x0000037 com.example.function37 (source.java:37)
- 0x0000038 com.example.function38 (source.java:38)
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention.string
deleted file mode 100644
index 985ffe1cca..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.contention.string
+++ /dev/null
@@ -1,43 +0,0 @@
-PeriodType: contentions count
-Period: 100
-Duration: 1h40
-Samples:
-contentions/count delay/microseconds
- 100 100: 1 2
- 100 1400: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 10 17 18 19 20 21 22 23 24 25 26 27 28 29
- 200 200: 1 2
- 300 200: 30 31 32
-Locations
- 1: 0x0 com.example.function03 source.java:3 s=0
- 2: 0x0 com.example.function04 source.java:4 s=0
- 3: 0x0 com.example.function0d source.java:0 s=0
- 4: 0x0 com.example.function0e source.java:0 s=0
- 5: 0x0 com.example.function0f source.java:0 s=0
- 6: 0x0 com.example.function10 source.java:10 s=0
- 7: 0x0 com.example.function11 source.java:11 s=0
- 8: 0x0 com.example.function12 source.java:12 s=0
- 9: 0x0 com.example.function13 source.java:13 s=0
- 10: 0x0 com.example.function14 source.java:14 s=0
- 11: 0x0 com.example.function17 source.java:17 s=0
- 12: 0x0 com.example.function18 source.java:18 s=0
- 13: 0x0 com.example.function19 source.java:19 s=0
- 14: 0x0 com.example.function1a source.java:1 s=0
- 15: 0x0 com.example.function1b source.java:1 s=0
- 16: 0x0 com.example.function1c source.java:1 s=0
- 17: 0x0 com.example.function29 source.java:29 s=0
- 18: 0x0 com.example.function2a source.java:2 s=0
- 19: 0x0 com.example.function2b source.java:2 s=0
- 20: 0x0 com.example.function2c source.java:2 s=0
- 21: 0x0 com.example.function2d source.java:2 s=0
- 22: 0x0 com.example.function2e source.java:2 s=0
- 23: 0x0 com.example.function2f source.java:2 s=0
- 24: 0x0 com.example.function30 source.java:30 s=0
- 25: 0x0 com.example.function31 source.java:31 s=0
- 26: 0x0 com.example.function32 source.java:32 s=0
- 27: 0x0 com.example.function33 source.java:33 s=0
- 28: 0x0 com.example.function34 source.java:34 s=0
- 29: 0x0 com.example.function35 source.java:35 s=0
- 30: 0x0 com.example.function36 source.java:36 s=0
- 31: 0x0 com.example.function37 source.java:37 s=0
- 32: 0x0 com.example.function38 source.java:38 s=0
-Mappings
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpu b/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpu
deleted file mode 100644
index 593588b7d6..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpu
+++ /dev/null
Binary files differ
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpu.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpu.string
deleted file mode 100644
index f728cf26a8..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.cpu.string
+++ /dev/null
@@ -1,78 +0,0 @@
-PeriodType: cpu nanoseconds
-Period: 10000000
-Samples:
-samples/count cpu/nanoseconds
- 0 0: 1
- 0 0: 2
- 2 20000000: 3
- 1 10000000: 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
- 1 10000000: 19 20 21 22 23 16 17 18
- 1 10000000: 24 25 26 27 28 29 30 31 32
- 1 10000000: 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 29 30 31 32
- 1 10000000: 54 55 56 57 58 59 60 61 62 11 63 64 16 17 18
-Locations
- 1: 0x0 GC :0 s=0
- 2: 0x0 Compile :0 s=0
- 3: 0x0 VM :0 s=0
- 4: 0x0 com.example.function06 source.java:6 s=0
- 5: 0x0 com.example.function07 source.java:7 s=0
- 6: 0x0 com.example.function08 source.java:8 s=0
- 7: 0x0 com.example.function09 source.java:9 s=0
- 8: 0x0 com.example.function0a source.java:0 s=0
- 9: 0x0 com.example.function0b source.java:0 s=0
- 10: 0x0 com.example.function0c source.java:0 s=0
- 11: 0x0 com.example.function0d source.java:0 s=0
- 12: 0x0 com.example.function0e source.java:0 s=0
- 13: 0x0 com.example.function0f source.java:0 s=0
- 14: 0x0 com.example.function10 source.java:10 s=0
- 15: 0x0 com.example.function11 source.java:11 s=0
- 16: 0x0 com.example.function12 source.java:12 s=0
- 17: 0x0 com.example.function13 source.java:13 s=0
- 18: 0x0 com.example.function14 source.java:14 s=0
- 19: 0x0 com.example.function1d source.java:1 s=0
- 20: 0x0 com.example.function1e source.java:1 s=0
- 21: 0x0 com.example.function1f source.java:1 s=0
- 22: 0x0 com.example.function20 source.java:20 s=0
- 23: 0x0 com.example.function21 source.java:21 s=0
- 24: 0x0 com.example.function22 source.java:22 s=0
- 25: 0x0 com.example.function23 source.java:23 s=0
- 26: 0x0 com.example.function24 source.java:24 s=0
- 27: 0x0 com.example.function25 source.java:25 s=0
- 28: 0x0 com.example.function26 source.java:26 s=0
- 29: 0x0 com.example.function27 source.java:27 s=0
- 30: 0x0 com.example.function28 source.java:28 s=0
- 31: 0x0 com.example.function29 source.java:29 s=0
- 32: 0x0 com.example.function2a source.java:2 s=0
- 33: 0x0 com.example.function2b source.java:2 s=0
- 34: 0x0 com.example.function2c source.java:2 s=0
- 35: 0x0 com.example.function2d source.java:2 s=0
- 36: 0x0 com.example.function2e source.java:2 s=0
- 37: 0x0 com.example.function2f source.java:2 s=0
- 38: 0x0 com.example.function30 source.java:30 s=0
- 39: 0x0 com.example.function31 source.java:31 s=0
- 40: 0x0 com.example.function32 source.java:32 s=0
- 41: 0x0 com.example.function33 source.java:33 s=0
- 42: 0x0 com.example.function34 source.java:34 s=0
- 43: 0x0 com.example.function35 source.java:35 s=0
- 44: 0x0 com.example.function36 source.java:36 s=0
- 45: 0x0 com.example.function37 source.java:37 s=0
- 46: 0x0 com.example.function38 source.java:38 s=0
- 47: 0x0 com.example.function39 source.java:39 s=0
- 48: 0x0 com.example.function3a source.java:3 s=0
- 49: 0x0 com.example.function3b source.java:3 s=0
- 50: 0x0 com.example.function3c source.java:3 s=0
- 51: 0x0 com.example.function3d source.java:3 s=0
- 52: 0x0 com.example.function3e source.java:3 s=0
- 53: 0x0 com.example.function3f source.java:3 s=0
- 54: 0x0 com.example.function40 source.java:40 s=0
- 55: 0x0 com.example.function41 source.java:41 s=0
- 56: 0x0 com.example.function42 source.java:42 s=0
- 57: 0x0 com.example.function43 source.java:43 s=0
- 58: 0x0 com.example.function44 source.java:44 s=0
- 59: 0x0 com.example.function45 source.java:45 s=0
- 60: 0x0 com.example.function46 source.java:46 s=0
- 61: 0x0 com.example.function47 source.java:47 s=0
- 62: 0x0 com.example.function48 source.java:48 s=0
- 63: 0x0 com.example.function49 source.java:49 s=0
- 64: 0x0 com.example.function4a source.java:4 s=0
-Mappings
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap b/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap
deleted file mode 100644
index 95e4f6e880..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap
+++ /dev/null
@@ -1,133 +0,0 @@
---- heapz 1 ---
-format = java
-resolution = bytes
- 7048 1 @ 0x00000003 0x00000004 0x00000005 0x00000006 0x00000007 0x00000008 0x00000009 0x0000000a 0x0000000b 0x0000000c 0x0000000d 0x0000000e 0x0000000f 0x00000010 0x00000011 0x00000018 0x00000019 0x0000001a 0x0000001b 0x0000001c 0x0000001d 0x0000001e 0x0000001f 0x00000020 0x00000021 0x00000022 0x00000023 0x00000024 0x00000025 0x00000026 0x00000027 0x00000023 0x00000028 0x00000029 0x0000001d 0x0000001e 0x0000001f 0x00000020 0x00000021 0x00000027 0x00000023 0x00000028 0x00000029 0x0000001d 0x0000001e 0x0000001f 0x00000020 0x00000021 0x0000002a 0x00000027 0x00000023 0x00000028 0x00000029 0x0000001d 0x0000001e 0x0000001f 0x00000020
- 4752 9 @ 0x0000002b 0x0000002c 0x0000002d 0x0000002e
- 880 1 @ 0x00000035 0x00000036 0x00000037 0x00000038 0x00000039 0x0000003a 0x0000003b 0x00000011 0x0000003d 0x0000003e 0x0000003f 0x00000040 0x00000041 0x00000042 0x00000011 0x00000049 0x0000004a 0x0000004b 0x0000004c 0x0000004d 0x0000004e 0x0000004b 0x0000004f 0x0000004b 0x00000050 0x00000051 0x00000052 0x00000053 0x00000054 0x00000055 0x00000056 0x00000057
- 560 1 @ 0x00000035 0x00000036 0x00000037 0x00000038 0x00000039 0x0000003a 0x0000003b 0x00000011 0x0000003d 0x0000003e 0x0000003f 0x00000040 0x00000041 0x00000042 0x00000011 0x0000005e 0x0000005f 0x00000060 0x00000061 0x00000062 0x00000063 0x00000064 0x00000065 0x00000066 0x00000067 0x00000068 0x00000069 0x0000006a 0x0000006b 0x0000006c 0x0000006d 0x0000006e 0x0000006f 0x00000070 0x00000071 0x00000072 0x00000073 0x00000074 0x00000075 0x00000067 0x00000068
- 528 1 @ 0x00000076 0x00000077 0x00000078 0x00000079 0x0000007a 0x0000007b 0x00000011 0x00000081 0x00000011 0x00000082 0x0000004e 0x0000004b 0x0000004f 0x0000004b 0x00000050 0x00000051 0x00000052 0x00000053 0x00000054 0x00000055 0x00000056 0x00000057
- 440 1 @ 0x00000083 0x00000084 0x00000085 0x00000086 0x00000087 0x00000088 0x00000089 0x0000008a 0x0000008b 0x0000008c 0x0000008d 0x0000008e 0x0000008f 0x00000090 0x00000091 0x00000092 0x00000093 0x00000094 0x00000095 0x00000096
- 240 5 @ 0x00000097
-
-
- 0x00000003 com.example.function003 (Source003.java:103)
- 0x00000004 com.example.function004 (Source004.java:104)
- 0x00000005 com.example.function005 (Source005.java:105)
- 0x00000006 com.example.function006 (Source006.java:106)
- 0x00000007 com.example.function007 (Source007.java:107)
- 0x00000008 com.example.function008 (Source008.java:108)
- 0x00000009 com.example.function009 (Source009.java:109)
- 0x0000000a com.example.function00a (Source00a.java:10)
- 0x0000000b com.example.function00b (Source00b.java:10)
- 0x0000000c com.example.function00c (Source00c.java:10)
- 0x0000000d com.example.function00d (Source00d.java:10)
- 0x0000000e com.example.function00e (Source00e.java:10)
- 0x0000000f com.example.function00f (Source00f.java:10)
- 0x00000010 com.example.function010 (Source010.java:110)
- 0x00000011 com.example.function011 (Source011.java:111)
- 0x00000018 com.example.function018 (Source018.java:118)
- 0x00000019 com.example.function019 (Source019.java:119)
- 0x0000001a com.example.function01a (Source01a.java:11)
- 0x0000001b com.example.function01b (Source01b.java:11)
- 0x0000001c com.example.function01c (Source01c.java:11)
- 0x0000001d com.example.function01d (Source01d.java:11)
- 0x0000001e com.example.function01e (Source01e.java:11)
- 0x0000001f com.example.function01f (Source01f.java:11)
- 0x00000020 com.example.function020 (Source020.java:120)
- 0x00000021 com.example.function021 (Source021.java:121)
- 0x00000022 com.example.function022 (Source022.java:122)
- 0x00000023 com.example.function023 (Source023.java:123)
- 0x00000024 com.example.function024 (Source024.java:124)
- 0x00000025 com.example.function025 (Source025.java:125)
- 0x00000026 com.example.function026 (Source026.java:126)
- 0x00000027 com.example.function027 (Source027.java:127)
- 0x00000028 com.example.function028 (Source028.java:128)
- 0x00000029 com.example.function029 (Source029.java:129)
- 0x0000002a com.example.function02a (Source02a.java:12)
- 0x0000002b com.example.function02b (Source02b.java:12)
- 0x0000002c com.example.function02c (Source02c.java:12)
- 0x0000002d com.example.function02d (Source02d.java:12)
- 0x0000002e com.example.function02e (Source02e.java:12)
- 0x00000035 com.example.function035 (Source035.java:135)
- 0x00000036 com.example.function036 (Source036.java:136)
- 0x00000037 com.example.function037 (Source037.java:137)
- 0x00000038 com.example.function038 (Source038.java:138)
- 0x00000039 com.example.function039 (Source039.java:139)
- 0x0000003a com.example.function03a (Source03a.java:13)
- 0x0000003b com.example.function03b (Source03b.java:13)
- 0x0000003d com.example.function03d (Source03d.java:13)
- 0x0000003e com.example.function03e (Source03e.java:13)
- 0x0000003f com.example.function03f (Source03f.java:13)
- 0x00000040 com.example.function040 (Source040.java:140)
- 0x00000041 com.example.function041 (Source041.java:141)
- 0x00000042 com.example.function042 (Source042.java:142)
- 0x00000049 com.example.function049 (Source049.java:149)
- 0x0000004a com.example.function04a (Source04a.java:14)
- 0x0000004b com.example.function04b (Source04b.java:14)
- 0x0000004c com.example.function04c (Source04c.java:14)
- 0x0000004d com.example.function04d (Source04d.java:14)
- 0x0000004e com.example.function04e (Source04e.java:14)
- 0x0000004f com.example.function04f (Source04f.java:14)
- 0x00000050 com.example.function050 (Source050.java:150)
- 0x00000051 com.example.function051 (Source051.java:151)
- 0x00000052 com.example.function052 (Source052.java:152)
- 0x00000053 com.example.function053 (Source053.java:153)
- 0x00000054 com.example.function054 (Source054.java:154)
- 0x00000055 com.example.function055 (Source055.java:155)
- 0x00000056 com.example.function056 (Source056.java:156)
- 0x00000057 com.example.function057 (Source057.java:157)
- 0x0000005a com.example.function05a (Source05a.java:15)
- 0x0000005e com.example.function05e (Source05e.java:15)
- 0x0000005f com.example.function05f (Source05f.java:15)
- 0x00000060 com.example.function060 (Source060.java:160)
- 0x00000061 com.example.function061 (Source061.java:161)
- 0x00000062 com.example.function062 (Source062.java:162)
- 0x00000063 com.example.function063 (Source063.java:163)
- 0x00000064 com.example.function064 (Source064.java:164)
- 0x00000065 com.example.function065 (Source065.java:165)
- 0x00000066 com.example.function066 (Source066.java:166)
- 0x00000067 com.example.function067 (Source067.java:167)
- 0x00000068 com.example.function068 (Source068.java:168)
- 0x00000069 com.example.function069 (Source069.java:169)
- 0x0000006a com.example.function06a (Source06a.java:16)
- 0x0000006b com.example.function06b (Source06b.java:16)
- 0x0000006c com.example.function06c (Source06c.java:16)
- 0x0000006d com.example.function06d (Source06d.java:16)
- 0x0000006e com.example.function06e (Source06e.java:16)
- 0x0000006f com.example.function06f (Source06f.java:16)
- 0x00000070 com.example.function070 (Source070.java:170)
- 0x00000071 com.example.function071 (Source071.java:171)
- 0x00000072 com.example.function072 (Source072.java:172)
- 0x00000073 com.example.function073 (Source073.java:173)
- 0x00000074 com.example.function074 (Source074.java:174)
- 0x00000075 com.example.function075 (Source075.java:175)
- 0x00000076 com.example.function076 (Source076.java:176)
- 0x00000077 com.example.function077 (Source077.java:177)
- 0x00000078 com.example.function078 (Source078.java:178)
- 0x00000079 com.example.function079 (Source079.java:179)
- 0x0000007a com.example.function07a (Source07a.java:17)
- 0x0000007b com.example.function07b (Source07b.java:17)
- 0x0000007d com.example.function07d (Source07d.java:17)
- 0x00000081 com.example.function081 (Source081.java:181)
- 0x00000082 com.example.function082 (Source082.java:182)
- 0x00000083 com.example.function083 (Source083.java:183)
- 0x00000084 com.example.function084 (Source084.java:184)
- 0x00000085 com.example.function085 (Source085.java:185)
- 0x00000086 com.example.function086 (Source086.java:186)
- 0x00000087 com.example.function087 (Source087.java:187)
- 0x00000088 com.example.function088 (Source088.java:188)
- 0x00000089 com.example.function089 (Source089.java:189)
- 0x0000008a com.example.function08a (Source08a.java:18)
- 0x0000008b com.example.function08b (Source08b.java:18)
- 0x0000008c com.example.function08c (Source08c.java:18)
- 0x0000008d com.example.function08d (Source08d.java:18)
- 0x0000008e com.example.function08e (Source08e.java:18)
- 0x0000008f com.example.function08f (Source08f.java:18)
- 0x00000090 com.example.function090 (Source090.java:190)
- 0x00000091 com.example.function091 (Source091.java:191)
- 0x00000092 com.example.function092 (Source092.java:192)
- 0x00000093 com.example.function093 (Source093.java:193)
- 0x00000094 com.example.function094 (Source094.java:194)
- 0x00000095 com.example.function095 (Source095.java:195)
- 0x00000096 com.example.function096 (Source096.java:196)
- 0x00000097 com.example.function097 (Source097.java:197)
diff --git a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap.string b/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap.string
deleted file mode 100644
index 261bee13a6..0000000000
--- a/src/cmd/vendor/github.com/google/pprof/profile/testdata/java.heap.string
+++ /dev/null
@@ -1,139 +0,0 @@
-PeriodType:
-Period: 0
-Samples:
-inuse_objects/count inuse_space/bytes
- 74 527819: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 27 32 33 21 22 23 24 25 31 27 32 33 21 22 23 24 25 34 31 27 32 33 21 22 23 24
- bytes:[7048]
- 8941 4720968: 35 36 37 38
- bytes:[528]
- 596 524728: 39 40 41 42 43 44 45 15 46 47 48 49 50 51 15 52 53 54 55 56 57 54 58 54 59 60 61 62 63 64 65 66
- bytes:[880]
- 936 524568: 39 40 41 42 43 44 45 15 46 47 48 49 50 51 15 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 76 77
- bytes:[560]
- 993 524552: 91 92 93 94 95 96 15 97 15 98 57 54 58 54 59 60 61 62 63 64 65 66
- bytes:[528]
- 1192 524508: 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
- bytes:[440]
- 54615 2621560: 119
- bytes:[48]
-Locations
- 1: 0x0 com.example.function003 Source003.java:103 s=0
- 2: 0x0 com.example.function004 Source004.java:104 s=0
- 3: 0x0 com.example.function005 Source005.java:105 s=0
- 4: 0x0 com.example.function006 Source006.java:106 s=0
- 5: 0x0 com.example.function007 Source007.java:107 s=0
- 6: 0x0 com.example.function008 Source008.java:108 s=0
- 7: 0x0 com.example.function009 Source009.java:109 s=0
- 8: 0x0 com.example.function00a Source00a.java:10 s=0
- 9: 0x0 com.example.function00b Source00b.java:10 s=0
- 10: 0x0 com.example.function00c Source00c.java:10 s=0
- 11: 0x0 com.example.function00d Source00d.java:10 s=0
- 12: 0x0 com.example.function00e Source00e.java:10 s=0
- 13: 0x0 com.example.function00f Source00f.java:10 s=0
- 14: 0x0 com.example.function010 Source010.java:110 s=0
- 15: 0x0 com.example.function011 Source011.java:111 s=0
- 16: 0x0 com.example.function018 Source018.java:118 s=0
- 17: 0x0 com.example.function019 Source019.java:119 s=0
- 18: 0x0 com.example.function01a Source01a.java:11 s=0
- 19: 0x0 com.example.function01b Source01b.java:11 s=0
- 20: 0x0 com.example.function01c Source01c.java:11 s=0
- 21: 0x0 com.example.function01d Source01d.java:11 s=0
- 22: 0x0 com.example.function01e Source01e.java:11 s=0
- 23: 0x0 com.example.function01f Source01f.java:11 s=0
- 24: 0x0 com.example.function020 Source020.java:120 s=0
- 25: 0x0 com.example.function021 Source021.java:121 s=0
- 26: 0x0 com.example.function022 Source022.java:122 s=0
- 27: 0x0 com.example.function023 Source023.java:123 s=0
- 28: 0x0 com.example.function024 Source024.java:124 s=0
- 29: 0x0 com.example.function025 Source025.java:125 s=0
- 30: 0x0 com.example.function026 Source026.java:126 s=0
- 31: 0x0 com.example.function027 Source027.java:127 s=0
- 32: 0x0 com.example.function028 Source028.java:128 s=0
- 33: 0x0 com.example.function029 Source029.java:129 s=0
- 34: 0x0 com.example.function02a Source02a.java:12 s=0
- 35: 0x0 com.example.function02b Source02b.java:12 s=0
- 36: 0x0 com.example.function02c Source02c.java:12 s=0
- 37: 0x0 com.example.function02d Source02d.java:12 s=0
- 38: 0x0 com.example.function02e Source02e.java:12 s=0
- 39: 0x0 com.example.function035 Source035.java:135 s=0
- 40: 0x0 com.example.function036 Source036.java:136 s=0
- 41: 0x0 com.example.function037 Source037.java:137 s=0
- 42: 0x0 com.example.function038 Source038.java:138 s=0
- 43: 0x0 com.example.function039 Source039.java:139 s=0
- 44: 0x0 com.example.function03a Source03a.java:13 s=0
- 45: 0x0 com.example.function03b Source03b.java:13 s=0
- 46: 0x0 com.example.function03d Source03d.java:13 s=0
- 47: 0x0 com.example.function03e Source03e.java:13 s=0
- 48: 0x0 com.example.function03f Source03f.java:13 s=0
- 49: 0x0 com.example.function040 Source040.java:140 s=0
- 50: 0x0 com.example.function041 Source041.java:141 s=0
- 51: 0x0 com.example.function042 Source042.java:142 s=0
- 52: 0x0 com.example.function049 Source049.java:149 s=0
- 53: 0x0 com.example.function04a Source04a.java:14 s=0
- 54: 0x0 com.example.function04b Source04b.java:14 s=0
- 55: 0x0 com.example.function04c Source04c.java:14 s=0
- 56: 0x0 com.example.function04d Source04d.java:14 s=0
- 57: 0x0 com.example.function04e Source04e.java:14 s=0
- 58: 0x0 com.example.function04f Source04f.java:14 s=0
- 59: 0x0 com.example.function050 Source050.java:150 s=0
- 60: 0x0 com.example.function051 Source051.java:151 s=0
- 61: 0x0 com.example.function052 Source052.java:152 s=0
- 62: 0x0 com.example.function053 Source053.java:153 s=0
- 63: 0x0 com.example.function054 Source054.java:154 s=0
- 64: 0x0 com.example.function055 Source055.java:155 s=0
- 65: 0x0 com.example.function056 Source056.java:156 s=0
- 66: 0x0 com.example.function057 Source057.java:157 s=0
- 67: 0x0 com.example.function05e Source05e.java:15 s=0
- 68: 0x0 com.example.function05f Source05f.java:15 s=0
- 69: 0x0 com.example.function060 Source060.java:160 s=0
- 70: 0x0 com.example.function061 Source061.java:161 s=0
- 71: 0x0 com.example.function062 Source062.java:162 s=0
- 72: 0x0 com.example.function063 Source063.java:163 s=0
- 73: 0x0 com.example.function064 Source064.java:164 s=0
- 74: 0x0 com.example.function065 Source065.java:165 s=0
- 75: 0x0 com.example.function066 Source066.java:166 s=0
- 76: 0x0 com.example.function067 Source067.java:167 s=0
- 77: 0x0 com.example.function068 Source068.java:168 s=0
- 78: 0x0 com.example.function069 Source069.java:169 s=0
- 79: 0x0 com.example.function06a Source06a.java:16 s=0
- 80: 0x0 com.example.function06b Source06b.java:16 s=0
- 81: 0x0 com.example.function06c Source06c.java:16 s=0
- 82: 0x0 com.example.function06d Source06d.java:16 s=0
- 83: 0x0 com.example.function06e Source06e.java:16 s=0
- 84: 0x0 com.example.function06f Source06f.java:16 s=0
- 85: 0x0 com.example.function070 Source070.java:170 s=0
- 86: 0x0 com.example.function071 Source071.java:171 s=0
- 87: 0x0 com.example.function072 Source072.java:172 s=0
- 88: 0x0 com.example.function073 Source073.java:173 s=0
- 89: 0x0 com.example.function074 Source074.java:174 s=0
- 90: 0x0 com.example.function075 Source075.java:175 s=0
- 91: 0x0 com.example.function076 Source076.java:176 s=0
- 92: 0x0 com.example.function077 Source077.java:177 s=0
- 93: 0x0 com.example.function078 Source078.java:178 s=0
- 94: 0x0 com.example.function079 Source079.java:179 s=0
- 95: 0x0 com.example.function07a Source07a.java:17 s=0
- 96: 0x0 com.example.function07b Source07b.java:17 s=0
- 97: 0x0 com.example.function081 Source081.java:181 s=0
- 98: 0x0 com.example.function082 Source082.java:182 s=0
- 99: 0x0 com.example.function083 Source083.java:183 s=0
- 100: 0x0 com.example.function084 Source084.java:184 s=0
- 101: 0x0 com.example.function085 Source085.java:185 s=0
- 102: 0x0 com.example.function086 Source086.java:186 s=0
- 103: 0x0 com.example.function087 Source087.java:187 s=0
- 104: 0x0 com.example.function088 Source088.java:188 s=0
- 105: 0x0 com.example.function089 Source089.java:189 s=0
- 106: 0x0 com.example.function08a Source08a.java:18 s=0
- 107: 0x0 com.example.function08b Source08b.java:18 s=0
- 108: 0x0 com.example.function08c Source08c.java:18 s=0
- 109: 0x0 com.example.function08d Source08d.java:18 s=0
- 110: 0x0 com.example.function08e Source08e.java:18 s=0
- 111: 0x0 com.example.function08f Source08f.java:18 s=0
- 112: 0x0 com.example.function090 Source090.java:190 s=0
- 113: 0x0 com.example.function091 Source091.java:191 s=0
- 114: 0x0 com.example.function092 Source092.java:192 s=0
- 115: 0x0 com.example.function093 Source093.java:193 s=0
- 116: 0x0 com.example.function094 Source094.java:194 s=0
- 117: 0x0 com.example.function095 Source095.java:195 s=0
- 118: 0x0 com.example.function096 Source096.java:196 s=0
- 119: 0x0 com.example.function097 Source097.java:197 s=0
-Mappings
diff --git a/src/cmd/vendor/github.com/ianlancetaylor/demangle/ast_test.go b/src/cmd/vendor/github.com/ianlancetaylor/demangle/ast_test.go
deleted file mode 100644
index b55406169d..0000000000
--- a/src/cmd/vendor/github.com/ianlancetaylor/demangle/ast_test.go
+++ /dev/null
@@ -1,42 +0,0 @@
-// 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.
-
-package demangle
-
-import (
- "fmt"
- "testing"
-)
-
-func TestASTToString(t *testing.T) {
- var tests = []struct {
- input AST
- want string
- formatted string
- }{
- {
- &Qualified{Scope: &Name{Name: "s"}, Name: &Name{Name: "C"}},
- "s::C",
- `Qualified:
- Scope: s
- Name: C`,
- },
- {
- &Typed{Name: &Name{Name: "v"}, Type: &BuiltinType{"int"}},
- "int v",
- `Typed:
- Name: v
- Type: BuiltinType: int`,
- },
- }
-
- for i, test := range tests {
- if got := ASTToString(test.input); got != test.want {
- t.Errorf("ASTToString of test %d == %s, want %s", i, test.input, test.want)
- }
- if got := fmt.Sprintf("%#v", test.input); got != test.formatted {
- t.Errorf("Formatted test %d == %s, want %s", i, got, test.formatted)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/ianlancetaylor/demangle/demangle_test.go b/src/cmd/vendor/github.com/ianlancetaylor/demangle/demangle_test.go
deleted file mode 100644
index 30a326933e..0000000000
--- a/src/cmd/vendor/github.com/ianlancetaylor/demangle/demangle_test.go
+++ /dev/null
@@ -1,420 +0,0 @@
-// 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.
-
-package demangle
-
-import (
- "strconv"
- "strings"
- "testing"
-)
-
-// Check test cases discovered after the code passed the tests in
-// demangle-expected (which are tested by TestExpected). Some of this
-// are cases where we differ from the standard demangler, some we are
-// the same but we weren't initially.
-func TestDemangler(t *testing.T) {
- var tests = []struct {
- input string
- want string
- wantNoParams string
- wantNoTemplateParams string
- wantMinimal string
- }{
- {
- "_ZNSaIcEC1ERKS_",
- "std::allocator<char>::allocator(std::allocator<char> const&)",
- "std::allocator<char>::allocator",
- "std::allocator::allocator(std::allocator const&)",
- "std::allocator::allocator",
- },
- {
- "_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EP8_IO_FILESt13_Ios_Openmodem",
- "__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::stdio_filebuf(_IO_FILE*, std::_Ios_Openmode, unsigned long)",
- "__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::stdio_filebuf",
- "__gnu_cxx::stdio_filebuf::stdio_filebuf(_IO_FILE*, std::_Ios_Openmode, unsigned long)",
- "__gnu_cxx::stdio_filebuf::stdio_filebuf",
- },
- {
- "_ZN1n1CcvNS_1DIT_EEI1EEEv",
- "n::C::operator n::D<E><E>()",
- "n::C::operator n::D<E><E>",
- "n::C::operator n::D()",
- "n::C::operator n::D",
- },
- {
- "_Z1CIvPN1D1E1FIdJEEEdEPN1GILb0ET_T0_T1_E1HEPFS6_S7_S8_EN1H1I1JIS7_E1KENSG_IS8_E1KE",
- "G<false, void, D::E::F<double>*, double>::H* C<void, D::E::F<double>*, double>(void (*)(D::E::F<double>*, double), H::I::J<D::E::F<double>*>::K, H::I::J<double>::K)",
- "C<void, D::E::F<double>*, double>",
- "G::H* C(void (*)(D::E::F*, double), H::I::J::K, H::I::J::K)",
- "C",
- },
- {
- "_ZZNK1CI1DIcSt1EIcESaIcEEJEE1FEvE1F",
- "C<D<char, std::E<char>, std::allocator<char> > >::F() const::F",
- "C<D<char, std::E<char>, std::allocator<char> > >::F() const::F",
- "C::F() const::F",
- "C::F() const::F",
- },
- {
- "_ZN1CI1DSt1EIK1FN1G1HEEE1I1JIJRKS6_EEEvDpOT_",
- "void C<D, std::E<F const, G::H> >::I::J<std::E<F const, G::H> const&>(std::E<F const, G::H> const&)",
- "C<D, std::E<F const, G::H> >::I::J<std::E<F const, G::H> const&>",
- "void C::I::J(std::E const&)",
- "C::I::J",
- },
- {
- "_ZN1C1D1E1FIJEEEvi1GDpT_",
- "void C::D::E::F<>(int, G)",
- "C::D::E::F<>",
- "void C::D::E::F(int, G)",
- "C::D::E::F",
- },
- {
- "_ZN1CILj50ELb1EE1DEv",
- "C<50u, true>::D()",
- "C<50u, true>::D",
- "C::D()",
- "C::D",
- },
- {
- "_ZN1CUt_C2Ev",
- "C::{unnamed type#1}::{unnamed type#1}()",
- "C::{unnamed type#1}::{unnamed type#1}",
- "C::{unnamed type#1}::{unnamed type#1}()",
- "C::{unnamed type#1}::{unnamed type#1}",
- },
- {
- "_ZN1C12_GLOBAL__N_11DINS_1EEEEN1F1GIDTadcldtcvT__E1HEEEERKS5_NS_1I1JE",
- "F::G<decltype (&((((C::E)()).H)()))> C::(anonymous namespace)::D<C::E>(C::E const&, C::I::J)",
- "C::(anonymous namespace)::D<C::E>",
- "F::G C::(anonymous namespace)::D(C::E const&, C::I::J)",
- "C::(anonymous namespace)::D",
- },
- {
- "_ZN1CI1DE1EIJiRiRPKcRA1_S4_S8_bS6_S3_RjRPKN1F1GERPKN1H1IEEEEvDpOT_",
- "void C<D>::E<int, int&, char const*&, char const (&) [1], char const (&) [1], bool, char const*&, int&, unsigned int&, F::G const*&, H::I const*&>(int&&, int&, char const*&, char const (&) [1], char const (&) [1], bool&&, char const*&, int&, unsigned int&, F::G const*&, H::I const*&)",
- "C<D>::E<int, int&, char const*&, char const (&) [1], char const (&) [1], bool, char const*&, int&, unsigned int&, F::G const*&, H::I const*&>",
- "void C::E(int&&, int&, char const*&, char const (&) [1], char const (&) [1], bool&&, char const*&, int&, unsigned int&, F::G const*&, H::I const*&)",
- "C::E",
- },
- {
- "_ZN1C12_GLOBAL__N_11DIFbPKNS_1EEEEEvPNS_1FERKT_",
- "void C::(anonymous namespace)::D<bool (C::E const*)>(C::F*, bool (&)(C::E const*) const)",
- "C::(anonymous namespace)::D<bool (C::E const*)>",
- "void C::(anonymous namespace)::D(C::F*, bool (&)(C::E const*) const)",
- "C::(anonymous namespace)::D",
- },
- {
- "_ZN1C1D1EIJRFviSt1FIFvRKN1G1H1IEEERKSt6vectorINS_1JESaISB_EEERiS9_EvEENS0_1K1LIJDpNSt1MIT_E1NEEEEDpOSM_",
- "C::D::K::L<std::M<void (&)(int, std::F<void (G::H::I const&)>, std::vector<C::J, std::allocator<C::J> > const&)>::N, std::M<int&>::N, std::M<std::F<void (G::H::I const&)> >::N> C::D::E<void (&)(int, std::F<void (G::H::I const&)>, std::vector<C::J, std::allocator<C::J> > const&), int&, std::F<void (G::H::I const&)>, void>(void (&)(int, std::F<void (G::H::I const&)>, std::vector<C::J, std::allocator<C::J> > const&), int&, std::F<void (G::H::I const&)>&&)",
- "C::D::E<void (&)(int, std::F<void (G::H::I const&)>, std::vector<C::J, std::allocator<C::J> > const&), int&, std::F<void (G::H::I const&)>, void>",
- "C::D::K::L C::D::E(void (&)(int, std::F, std::vector const&), int&, std::F&&)",
- "C::D::E",
- },
- {
- "_ZN1C1D1E1FcvNS_1GIT_EEI1HEEv",
- "C::D::E::F::operator C::G<H><H>()",
- "C::D::E::F::operator C::G<H><H>",
- "C::D::E::F::operator C::G()",
- "C::D::E::F::operator C::G",
- },
- {
- "_ZN9__gnu_cxx17__normal_iteratorIPK1EIN1F1G1HEESt6vectorIS5_SaIS5_EEEC2IPS5_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISE_SD_EE7__valueESA_E1IEEE",
- "__gnu_cxx::__normal_iterator<E<F::G::H> const*, std::vector<E<F::G::H>, std::allocator<E<F::G::H> > > >::__normal_iterator<E<F::G::H>*>(__gnu_cxx::__normal_iterator<E<F::G::H>*, __gnu_cxx::__enable_if<std::__are_same<E<F::G::H>*, E<F::G::H>*>::__value, std::vector<E<F::G::H>, std::allocator<E<F::G::H> > > >::I> const&)",
- "__gnu_cxx::__normal_iterator<E<F::G::H> const*, std::vector<E<F::G::H>, std::allocator<E<F::G::H> > > >::__normal_iterator<E<F::G::H>*>",
- "__gnu_cxx::__normal_iterator::__normal_iterator(__gnu_cxx::__normal_iterator const&)",
- "__gnu_cxx::__normal_iterator::__normal_iterator",
- },
- {
- "_ZNKSt1CIM1DKFjvEEclIJEvEEjPKS0_DpOT_",
- "unsigned int std::C<unsigned int (D::*)() const>::operator()<void>(D const*) const",
- "std::C<unsigned int (D::*)() const>::operator()<void>",
- "unsigned int std::C::operator()(D const*) const",
- "std::C::operator()",
- },
- {
- "_ZNSt10_HashtableI12basic_stringIcSt11char_traitsIcESaIcEESt4pairIKS4_N1C1D1EEESaISA_ENSt8__detail10_Select1stESt8equal_toIS4_ESt4hashIS4_ENSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_assignIZNSN_C1ERKSN_EUlPKNSC_10_Hash_nodeISA_Lb1EEEE_EEvSQ_RKT_",
- "void std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_assign<std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_Hashtable(std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> > const&)::{lambda(std::__detail::_Hash_node<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, true> const*)#1}>(std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> > const&, std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_Hashtable(std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> > const&)::{lambda(std::__detail::_Hash_node<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, true> const*)#1} const&)",
- "std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_assign<std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_Hashtable(std::_Hashtable<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, std::allocator<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E> >, std::__detail::_Select1st, std::equal_to<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> > const&)::{lambda(std::__detail::_Hash_node<std::pair<basic_string<char, std::char_traits<char>, std::allocator<char> > const, C::D::E>, true> const*)#1}>",
- "void std::_Hashtable::_M_assign(std::_Hashtable const&, std::_Hashtable::_Hashtable(std::_Hashtable const&)::{lambda(std::__detail::_Hash_node const*)#1} const&)",
- "std::_Hashtable::_M_assign",
- },
- {
- "_ZSt3maxIVdERKT_S3_S3_",
- "double const volatile& std::max<double volatile>(double const volatile&, double const volatile&)",
- "std::max<double volatile>",
- "double const volatile& std::max(double const volatile&, double const volatile&)",
- "std::max",
- },
- {
- "_ZZN1C1D1E1F1G1HEvENUlvE_C2EOS4_",
- "C::D::E::F::G::H()::{lambda()#1}::{lambda()#1}({lambda()#1}&&)",
- "C::D::E::F::G::H()::{lambda()#1}::{lambda()#1}",
- "C::D::E::F::G::H()::{lambda()#1}::{lambda()#1}({lambda()#1}&&)",
- "C::D::E::F::G::H()::{lambda()#1}::{lambda()#1}",
- },
- {
- "_ZThn8_NK1C1D1EEv",
- "non-virtual thunk to C::D::E() const",
- "non-virtual thunk to C::D::E() const",
- "non-virtual thunk to C::D::E() const",
- "non-virtual thunk to C::D::E() const",
- },
- {
- "_ZTv0_n96_NK1C1D1E1FEv",
- "virtual thunk to C::D::E::F() const",
- "virtual thunk to C::D::E::F() const",
- "virtual thunk to C::D::E::F() const",
- "virtual thunk to C::D::E::F() const",
- },
- {
- "_ZTCSt9strstream16_So",
- "construction vtable for std::ostream-in-std::strstream",
- "construction vtable for std::ostream-in-std::strstream",
- "construction vtable for std::ostream-in-std::strstream",
- "construction vtable for std::ostream-in-std::strstream",
- },
- {
- "_ZGVZZN1C1D1EEvENK3$_0clEvE1F",
- "guard variable for C::D::E()::$_0::operator()() const::F",
- "guard variable for C::D::E()::$_0::operator()() const::F",
- "guard variable for C::D::E()::$_0::operator()() const::F",
- "guard variable for C::D::E()::$_0::operator()() const::F",
- },
- {
- "_Z1fICiEvT_",
- "void f<int _Complex>(int _Complex)",
- "f<int _Complex>",
- "void f(int _Complex)",
- "f",
- },
- {
- "_GLOBAL__D__Z2fnv",
- "global destructors keyed to fn()",
- "global destructors keyed to fn()",
- "global destructors keyed to fn()",
- "global destructors keyed to fn()",
- },
- {
- "_Z1fIXadL_Z1hvEEEvv",
- "void f<&h>()",
- "f<&h>",
- "void f()",
- "f",
- },
- {
- "_Z1CIP1DEiRK1EPT_N1F1GIS5_Xaasr1HIS5_E1IntsrSA_1JEE1KE",
- "int C<D*>(E const&, D**, F::G<D*, H<D*>::I&&(!H<D*>::J)>::K)",
- "C<D*>",
- "int C(E const&, D**, F::G::K)",
- "C",
- },
- {
- "_ZNO1A1B1C1DIZN1E1F1GINS3_1HE1IEEvMNS3_1JEFvP1LPKT_PT0_P1KESD_SA_SF_SH_EUlvE_Lb0EEcvPSB_ISG_vvEEv",
- "A::B::C::D<void E::F::G<E::H, I>(void (E::J::*)(L*, E::H const*, I*, K*), E::H const*, L*, I*, K*)::{lambda()#1}, false>::operator K*<K, void, void>() &&",
- "A::B::C::D<void E::F::G<E::H, I>(void (E::J::*)(L*, E::H const*, I*, K*), E::H const*, L*, I*, K*)::{lambda()#1}, false>::operator K*<K, void, void>",
- "A::B::C::D::operator K*() &&",
- "A::B::C::D::operator K*",
- },
- {
- "_ZNSt1AIFSt1BImjEjEZN1C1DI1EEENSt1FIXeqsr1G1H1IIDTadsrT_onclEEE1JLi2EEvE1KEPKcSC_OS7_EUljE_E1KERKSt1Lj",
- "std::A<std::B<unsigned long, unsigned int> (unsigned int), std::F<G::H::I<decltype (&E::operator())>::J==(2), void>::K C::D<E>(char const*, G::H::I<decltype (&E::operator())>, G&&)::{lambda(unsigned int)#1}>::K(std::L const&, unsigned int)",
- "std::A<std::B<unsigned long, unsigned int> (unsigned int), std::F<G::H::I<decltype (&E::operator())>::J==(2), void>::K C::D<E>(char const*, G::H::I<decltype (&E::operator())>, G&&)::{lambda(unsigned int)#1}>::K",
- "std::A::K(std::L const&, unsigned int)",
- "std::A::K",
- },
- {
- "_ZNSt1AIFSt1BImjEjEZN1L1CIUljE_EENSt1DIXeqsrN1E1F1GIDTadsrT_clEEE1HLi2EEvE1IEPKcSG_OSA_EUljE_E1JERKSt1Kj",
- "std::A<std::B<unsigned long, unsigned int> (unsigned int), std::D<E::F::G<decltype (&{lambda(unsigned int)#1}::operator())>::H==(2), void>::I L::C<{lambda(unsigned int)#1}>(char const*, char const*, {lambda(unsigned int)#1}&&)::{lambda(unsigned int)#1}>::J(std::K const&, unsigned int)",
- "std::A<std::B<unsigned long, unsigned int> (unsigned int), std::D<E::F::G<decltype (&{lambda(unsigned int)#1}::operator())>::H==(2), void>::I L::C<{lambda(unsigned int)#1}>(char const*, char const*, {lambda(unsigned int)#1}&&)::{lambda(unsigned int)#1}>::J",
- "std::A::J(std::K const&, unsigned int)",
- "std::A::J",
- },
- {
- "_ZNSt1A1BIiNS_1CIiEEE1DIPiEENS_1EIXaasr1FIT_EE1Gsr1HIiNS_1IIS7_E1JEEE1KEvE1LES7_S7_",
- "std::A::E<F<int*>::G&&H<int, std::A::I<F>::J>::K, void>::L std::A::B<int, std::A::C<int> >::D<int*>(F, F)",
- "std::A::B<int, std::A::C<int> >::D<int*>",
- "std::A::E::L std::A::B::D(F, F)",
- "std::A::B::D",
- },
- {
- "_ZNO1A1B1C1DIJOZZN1E1F1GINS4_1HINS4_1IINS4_1JEEEEEJNS4_1KEEEEN1L1MINS4_1OINT_1PEEEEERKSt6vectorIN1Q1RESaISL_EERKN3gtl1S1TIN1U1VEEERKNS4_1W1XERKNS4_1YERKNSQ_1ZINS4_1aEEEPSt13unordered_mapISL_NSK_9UniquePtrINS4_1bINS0_1cIJS9_NS7_INST_1dEEEEEENS4_1fEEEEENSC_1g1hIvEESt8equal_toISL_ESaISt4pairIKSL_S1J_EEEDpRKT0_ENKUlSL_mmS1G_E_clESL_mmS1G_EUlS9_E_OZZNS5_ISA_JSB_EEESI_SP_SX_S11_S14_S19_S1U_S1Y_ENKS1Z_clESL_mmS1G_EUlS1F_E0_EEclIJRS9_EEEDTclcl1iIXsrNS1_1jISt5tupleIJNS1_1kIS21_EENS29_IS23_EEEEJDpT_EEE1lEEcl1mIS2C_EEEspcl1mIS2D_EEEEDpOS2D_",
- "decltype (((i<A::B::C::j<std::tuple<A::B::C::k<{lambda(E::F::I<E::F::J>)#1}>, E::F::I<E::F::J>&<L::M<E::F::O<E::F::H<E::F::I<E::F::J> >::P> > E::F::G<E::F::H<E::F::I<E::F::J> >, E::F::K>(std::vector<Q::R, std::allocator<Q::R> > const&, gtl::S::T<U::V> const&, E::F::W::X const&, E::F::Y const&, gtl::Z<E::F::a> const&, std::unordered_map<Q::R, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> >, L::g::h<void>, std::equal_to<Q::R>, std::allocator<std::pair<Q::R const, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> > > > >*, E::F::K const&)::{lambda(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >)#1}::operator()(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >) const::{lambda(E::F::I<E::F::J>)#1}&&> >, E::F::I<E::F::J>&>::l>)((m<A::B::C::k>)()))(((m<A::B::C::k<{lambda(E::F::I<E::F::J>)#1}> >)())...)) A::B::C::D<L::M<E::F::O<E::F::H<E::F::I<E::F::J> >::P> > E::F::G<E::F::H<E::F::I<E::F::J> >, E::F::K>(std::vector<Q::R, std::allocator<Q::R> > const&, gtl::S::T<U::V> const&, E::F::W::X const&, E::F::Y const&, gtl::Z<E::F::a> const&, std::unordered_map<Q::R, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> >, L::g::h<void>, std::equal_to<Q::R>, std::allocator<std::pair<Q::R const, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> > > > >*, E::F::K const&)::{lambda(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >)#1}::operator()(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >) const::{lambda(E::F::I<E::F::J>)#1}&&, L::M<E::F::O<E::F::H<E::F::I<E::F::J> >::P> > E::F::G<E::F::H<E::F::I<E::F::J> >, E::F::K>(std::vector<Q::R, std::allocator<Q::R> > const&, gtl::S::T<U::V> const&, E::F::W::X const&, E::F::Y const&, gtl::Z<E::F::a> const&, std::unordered_map<Q::R, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> >, L::g::h<void>, std::equal_to<Q::R>, std::allocator<std::pair<Q::R const, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> > > > >*, E::F::K const&)::{lambda(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >)#1}::operator()(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >) const::{lambda(E::F::I<U::d>)#2}&&>::operator()<E::F::I<E::F::J>&>((A::B::C::k<{lambda(E::F::I<E::F::J>)#1}>&&)...) &&",
- "A::B::C::D<L::M<E::F::O<E::F::H<E::F::I<E::F::J> >::P> > E::F::G<E::F::H<E::F::I<E::F::J> >, E::F::K>(std::vector<Q::R, std::allocator<Q::R> > const&, gtl::S::T<U::V> const&, E::F::W::X const&, E::F::Y const&, gtl::Z<E::F::a> const&, std::unordered_map<Q::R, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> >, L::g::h<void>, std::equal_to<Q::R>, std::allocator<std::pair<Q::R const, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> > > > >*, E::F::K const&)::{lambda(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >)#1}::operator()(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >) const::{lambda(E::F::I<E::F::J>)#1}&&, L::M<E::F::O<E::F::H<E::F::I<E::F::J> >::P> > E::F::G<E::F::H<E::F::I<E::F::J> >, E::F::K>(std::vector<Q::R, std::allocator<Q::R> > const&, gtl::S::T<U::V> const&, E::F::W::X const&, E::F::Y const&, gtl::Z<E::F::a> const&, std::unordered_map<Q::R, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> >, L::g::h<void>, std::equal_to<Q::R>, std::allocator<std::pair<Q::R const, Q::UniquePtr<E::F::b<A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >, E::F::f> > > > >*, E::F::K const&)::{lambda(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >)#1}::operator()(Q::R, unsigned long, unsigned long, A::B::c<E::F::I<E::F::J>, E::F::I<U::d> >) const::{lambda(E::F::I<U::d>)#2}&&>::operator()<E::F::I<E::F::J>&>",
- "decltype (((i)((m)()))(((m)())...)) A::B::C::D::operator()((A::B::C::k&&)...) &&",
- "A::B::C::D::operator()",
- },
- {
- "_ZcvAna_eE_e",
- "operator long double [new long double]",
- "operator long double [new long double]",
- "operator long double [new long double]",
- "operator long double [new long double]",
- },
- {
- "_ZZ1irFeeEES_S_",
- "i(() restrict)::long double (long double)(() restrict) restrict",
- "i(long double (long double) restrict)::long double (long double)",
- "i(() restrict)::long double (long double)(() restrict) restrict",
- "i(long double (long double) restrict)::long double (long double)",
- },
- {
- "_Z1_VFaeEZS_S_ES_",
- "_((() volatile) volatile, signed char (long double)(() volatile) volatile::(() volatile) volatile)",
- "_",
- "_((() volatile) volatile, signed char (long double)(() volatile) volatile::(() volatile) volatile)",
- "_",
- },
- {
- "_ZdsrFliEZS_GS_EcvS_",
- "operator.*(( ( _Imaginary)( _Imaginary) restrict) restrict, long (int)( ( _Imaginary)( _Imaginary) restrict) restrict::operator ( ( _Imaginary)( _Imaginary) restrict) restrict)",
- "operator.*",
- "operator.*(( ( _Imaginary)( _Imaginary) restrict) restrict, long (int)( ( _Imaginary)( _Imaginary) restrict) restrict::operator ( ( _Imaginary)( _Imaginary) restrict) restrict)",
- "operator.*",
- },
- }
-
- for _, test := range tests {
- if got, err := ToString(test.input); err != nil {
- t.Errorf("demangling %s: unexpected error %v", test.input, err)
- } else if got != test.want {
- t.Errorf("demangling %s: got %s, want %s", test.input, got, test.want)
- }
-
- if got, err := ToString(test.input, NoParams); err != nil {
- t.Errorf("demangling NoParams %s: unexpected error %v", test.input, err)
- } else if got != test.wantNoParams {
- t.Errorf("demangling NoParams %s: got %s, want %s", test.input, got, test.wantNoParams)
- }
-
- if got, err := ToString(test.input, NoTemplateParams); err != nil {
- t.Errorf("demangling NoTemplateParams %s: unexpected error %v", test.input, err)
- } else if got != test.wantNoTemplateParams {
- t.Errorf("demangling NoTemplateParams %s: got %s, want %s", test.input, got, test.wantNoTemplateParams)
- }
-
- if got, err := ToString(test.input, NoParams, NoTemplateParams); err != nil {
- t.Errorf("demangling NoTemplateParams %s: unexpected error %v", test.input, err)
- } else if got != test.wantMinimal {
- t.Errorf("demangling Minimal %s: got %s, want %s", test.input, got, test.wantMinimal)
- }
-
- // Test Filter also.
- if got := Filter(test.input); got != test.want {
- t.Errorf("Filter(%s) == %s, want %s", test.input, got, test.want)
- }
- }
-}
-
-// Test for some failure cases.
-func TestFailure(t *testing.T) {
- var tests = []struct {
- input string
- error string
- off int
- }{
- {
- "_Z1FE",
- "unparsed characters at end of mangled name",
- 4,
- },
- {
- "_Z1FQ",
- "unrecognized type code",
- 4,
- },
- {
- "_ZZSaIL0D",
- "expected positive number",
- 8,
- },
- {
- "_ZNKE",
- "expected prefix",
- 4,
- },
- {
- "_ZcvT_",
- "not in scope of template",
- 6,
- },
- {
- "_Z1AIXsZ1_EE",
- "missing argument pack",
- 8,
- },
- {
- "_Z1gIEDTclspilE",
- "expected expression",
- 15,
- },
- {
- "_ZNcvZN1ET_IEE",
- "after local name",
- 14,
- },
- {
- "_Zv00",
- "expected positive number",
- 5,
- },
- {
- "_ZcvT_B2T0",
- "template parameter not in scope",
- 10,
- },
- {
- "_ZStcvT_",
- "template parameter not in scope",
- 8,
- },
- {
- "_Z1aIeEU1RT_ZcvS1_",
- "expected E after local name",
- 18,
- },
- {
- "_ZNcvT_oRIEE",
- "template index out of range",
- 11,
- },
- {
- "_ZNcvT_D0IIEE",
- "expected prefix",
- 13,
- },
- {
- "_ZcvT_IAoncvT__eE",
- "template parameter not in scope",
- 17,
- },
- }
-
- for _, test := range tests {
- got, err := ToString(test.input)
- if err == nil {
- t.Errorf("unexpected success for %s: %s", test.input, got)
- } else if !strings.Contains(err.Error(), test.error) {
- t.Errorf("unexpected error for %s: %v", test.input, err)
- } else {
- s := err.Error()
- i := strings.LastIndex(s, " at ")
- if i < 0 {
- t.Errorf("missing offset in error for %s: %v", test.input, err)
- } else {
- off, oerr := strconv.Atoi(s[i+4:])
- if oerr != nil {
- t.Errorf("can't parse offset (%s) for %s: %v", s[i+4:], test.input, err)
- } else if off != test.off {
- t.Errorf("unexpected offset for %s: got %d, want %d", test.input, off, test.off)
- }
- }
- }
-
- if got := Filter(test.input); got != test.input {
- t.Errorf("Filter(%s) == %s, want %s", test.input, got, test.input)
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/ianlancetaylor/demangle/expected_test.go b/src/cmd/vendor/github.com/ianlancetaylor/demangle/expected_test.go
deleted file mode 100644
index 1dff860ea6..0000000000
--- a/src/cmd/vendor/github.com/ianlancetaylor/demangle/expected_test.go
+++ /dev/null
@@ -1,183 +0,0 @@
-// 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.
-
-package demangle
-
-import (
- "bufio"
- "flag"
- "fmt"
- "os"
- "strings"
- "testing"
-)
-
-var verbose = flag.Bool("verbose", false, "print each demangle-expected symbol")
-
-const filename = "testdata/demangle-expected"
-
-// A list of exceptions from demangle-expected that we do not handle
-// the same as the standard demangler. We keep a list of exceptions
-// so that we can use an exact copy of the file. These exceptions are
-// all based on different handling of a substitution that refers to a
-// template parameter. The standard demangler seems to have a bug in
-// which template it uses when a reference or rvalue-reference refers
-// to a substitution that resolves to a template parameter.
-var exceptions = map[string]bool{
- "_ZSt7forwardIRN1x14refobjiteratorINS0_3refINS0_4mime30multipart_section_processorObjIZ15get_body_parserIZZN14mime_processor21make_section_iteratorERKNS2_INS3_10sectionObjENS0_10ptrrefBaseEEEbENKUlvE_clEvEUlSB_bE_ZZNS6_21make_section_iteratorESB_bENKSC_clEvEUlSB_E0_ENS1_INS2_INS0_20outputrefiteratorObjIiEES8_EEEERKSsSB_OT_OT0_EUlmE_NS3_32make_multipart_default_discarderISP_EEEES8_EEEEEOT_RNSt16remove_referenceISW_E4typeE": true,
- "_ZN3mdr16in_cached_threadIRZNK4cudr6GPUSet17parallel_for_eachIZN5tns3d20shape_representation7compute7GPUImpl7executeERKNS_1AINS_7ptr_refIKjEELl3ELl3ENS_8c_strideILl1ELl0EEEEERKNS8_INS9_IjEELl4ELl1ESD_EEEUliRKNS1_7ContextERNS7_5StateEE_JSt6vectorISO_SaISO_EEEEEvOT_DpRT0_EUlSP_E_JSt17reference_wrapperISO_EEEENS_12ScopedFutureIDTclfp_spcl7forwardISW_Efp0_EEEEESV_DpOSW_": true,
- "_ZNSt9_Any_data9_M_accessIPZN3sel8Selector6SetObjI3FooJPKcMS4_FviEEEEvRT_DpT0_EUlvE_EESA_v": true,
- "_ZNSt9_Any_data9_M_accessIPZN13ThreadManager7newTaskIRSt5_BindIFSt7_Mem_fnIM5DiaryFivEEPS5_EEIEEESt6futureINSt9result_ofIFT_DpT0_EE4typeEEOSF_DpOSG_EUlvE_EERSF_v": true,
- "_ZNSt9_Any_data9_M_accessIPZN6cereal18polymorphic_detail15getInputBindingINS1_16JSONInputArchiveEEENS1_6detail15InputBindingMapIT_E11SerializersERS7_jEUlPvRSt10unique_ptrIvNS5_12EmptyDeleterIvEEEE0_EESA_v": true,
- "_ZNSt9_Any_data9_M_accessIPZ4postISt8functionIFvvEEEvOT_EUlvE_EERS5_v": true,
- "_ZNSt9_Any_data9_M_accessIPZN13ThreadManager10futureTaskISt5_BindIFSt7_Mem_fnIM6RunnerFvvEEPS5_EEEEvOT_EUlvE_EERSC_v": true,
-}
-
-// For simplicity, this test reads an exact copy of
-// libiberty/testsuite/demangle-expected from GCC. See that file for
-// the syntax. We ignore all tests that are not --format=gnu-v3 or
-// --format=auto with a string starting with _Z.
-func TestExpected(t *testing.T) {
- f, err := os.Open(filename)
- if err != nil {
- t.Fatal(err)
- }
- scanner := bufio.NewScanner(f)
- lineno := 1
- for {
- format, got := getOptLine(t, scanner, &lineno)
- if !got {
- break
- }
- report := lineno
- input := getLine(t, scanner, &lineno)
- expect := getLine(t, scanner, &lineno)
-
- testNoParams := false
- skip := false
- if len(format) > 0 && format[0] == '-' {
- for _, arg := range strings.Fields(format) {
- switch arg {
- case "--format=gnu-v3":
- case "--format=auto":
- if !strings.HasPrefix(input, "_Z") {
- skip = true
- }
- case "--no-params":
- testNoParams = true
- case "--ret-postfix", "--ret-drop":
- skip = true
- case "--is-v3-ctor", "--is-v3-dtor":
- skip = true
- default:
- if !strings.HasPrefix(arg, "--format=") {
- t.Errorf("%s:%d: unrecognized argument %s", filename, report, arg)
- }
- skip = true
- }
- }
- }
-
- // The libiberty testsuite passes DMGL_TYPES to
- // demangle type names, but that doesn't seem useful
- // and we don't support it.
- if !strings.HasPrefix(input, "_Z") && !strings.HasPrefix(input, "_GLOBAL_") {
- skip = true
- }
-
- var expectNoParams string
- if testNoParams {
- expectNoParams = getLine(t, scanner, &lineno)
- }
-
- if skip {
- continue
- }
-
- oneTest(t, report, input, expect, true)
- if testNoParams {
- oneTest(t, report, input, expectNoParams, false)
- }
- }
- if err := scanner.Err(); err != nil {
- t.Error(err)
- }
-}
-
-// oneTest tests one entry from demangle-expected.
-func oneTest(t *testing.T, report int, input, expect string, params bool) {
- if *verbose {
- fmt.Println(input)
- }
-
- exception := exceptions[input]
-
- var s string
- var err error
- if params {
- s, err = ToString(input)
- } else {
- s, err = ToString(input, NoParams)
- }
- if err != nil {
- if exception {
- t.Logf("%s:%d: ignore expected difference: got %q, expected %q", filename, report, err, expect)
- return
- }
-
- if err != ErrNotMangledName {
- if input == expect {
- return
- }
- t.Errorf("%s:%d: %v", filename, report, err)
- return
- }
- s = input
- }
-
- if s != expect {
- if exception {
- t.Logf("%s:%d: ignore expected difference: got %q, expected %q", filename, report, s, expect)
- } else {
- var a AST
- if params {
- a, err = ToAST(input)
- } else {
- a, err = ToAST(input, NoParams)
- }
- if err != nil {
- t.Logf("ToAST error: %v", err)
- } else {
- t.Logf("\n%#v", a)
- }
- t.Errorf("%s:%d: params: %t: got %q, expected %q", filename, report, params, s, expect)
- }
- } else if exception && params {
- t.Errorf("%s:%d: unexpected success (input listed in exceptions)", filename, report)
- }
-}
-
-// getLine reads a line from demangle-expected.
-func getLine(t *testing.T, scanner *bufio.Scanner, lineno *int) string {
- s, got := getOptLine(t, scanner, lineno)
- if !got {
- t.Fatalf("%s:%d: unexpected EOF", filename, *lineno)
- }
- return s
-}
-
-// getOptLine reads an optional line from demangle-expected, returning
-// false at EOF. It skips comment lines and updates *lineno.
-func getOptLine(t *testing.T, scanner *bufio.Scanner, lineno *int) (string, bool) {
- for {
- if !scanner.Scan() {
- return "", false
- }
- *lineno++
- line := scanner.Text()
- if !strings.HasPrefix(line, "#") {
- return line, true
- }
- }
-}
diff --git a/src/cmd/vendor/github.com/ianlancetaylor/demangle/testdata/demangle-expected b/src/cmd/vendor/github.com/ianlancetaylor/demangle/testdata/demangle-expected
deleted file mode 100644
index 015454b455..0000000000
--- a/src/cmd/vendor/github.com/ianlancetaylor/demangle/testdata/demangle-expected
+++ /dev/null
@@ -1,4594 +0,0 @@
-# This file holds test cases for the demangler.
-# Each test case looks like this:
-# options
-# input to be demangled
-# expected output
-#
-# Supported options:
-# --format=<name> Sets the demangling style.
-# --no-params There are two lines of expected output; the first
-# is with DMGL_PARAMS, the second is without it.
-# --is-v3-ctor Calls is_gnu_v3_mangled_ctor on input; expected
-# output is an integer representing ctor_kind.
-# --is-v3-dtor Likewise, but for dtors.
-# --ret-postfix Passes the DMGL_RET_POSTFIX option
-#
-# For compatibility, just in case it matters, the options line may be
-# empty, to mean --format=auto. If it doesn't start with --, then it
-# may contain only a format name.
-#
-# A line starting with `#' is ignored.
-# However, blank lines in this file are NOT ignored.
-#
---format=gnu --no-params
-AddAlignment__9ivTSolverUiP12ivInteractorP7ivTGlue
-ivTSolver::AddAlignment(unsigned int, ivInteractor *, ivTGlue *)
-ivTSolver::AddAlignment
-#
---format=gnu --no-params
-ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic
-ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *)
-ArrowLine::ArrowheadIntersects
-#
---format=gnu --no-params
-ArrowheadIntersects__9ArrowLineP9ArrowheadO6BoxObjP7Graphic
-ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &&, Graphic *)
-ArrowLine::ArrowheadIntersects
-#
---format=gnu --no-params
-AtEnd__13ivRubberGroup
-ivRubberGroup::AtEnd(void)
-ivRubberGroup::AtEnd
-#
---format=gnu --no-params
-BgFilter__9ivTSolverP12ivInteractor
-ivTSolver::BgFilter(ivInteractor *)
-ivTSolver::BgFilter
-#
---format=gnu --no-params
-Check__6UArrayi
-UArray::Check(int)
-UArray::Check
-#
---format=gnu --no-params
-CoreConstDecls__8TextCodeR7ostream
-TextCode::CoreConstDecls(ostream &)
-TextCode::CoreConstDecls
-#
---format=gnu --no-params
-CoreConstDecls__8TextCodeO7ostream
-TextCode::CoreConstDecls(ostream &&)
-TextCode::CoreConstDecls
-#
---format=gnu --no-params
-Detach__8StateVarP12StateVarView
-StateVar::Detach(StateVarView *)
-StateVar::Detach
-#
---format=gnu --no-params
-Done__9ComponentG8Iterator
-Component::Done(Iterator)
-Component::Done
-#
---format=gnu --no-params
-Effect__11RelateManipR7ivEvent
-RelateManip::Effect(ivEvent &)
-RelateManip::Effect
-#
---format=gnu --no-params
-Effect__11RelateManipO7ivEvent
-RelateManip::Effect(ivEvent &&)
-RelateManip::Effect
-#
---format=gnu --no-params
-FindFixed__FRP4CNetP4CNet
-FindFixed(CNet *&, CNet *)
-FindFixed
-#
---format=gnu --no-params
-FindFixed__FOP4CNetP4CNet
-FindFixed(CNet *&&, CNet *)
-FindFixed
-#
---format=gnu --no-params
-Fix48_abort__FR8twolongs
-Fix48_abort(twolongs &)
-Fix48_abort
-#
---format=gnu --no-params
-Fix48_abort__FO8twolongs
-Fix48_abort(twolongs &&)
-Fix48_abort
-#
---format=gnu --no-params
-GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2
-iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &)
-iv2_6_VScroller::GetBarInfo
-#
---format=gnu --no-params
-GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveOiT2
-iv2_6_VScroller::GetBarInfo(ivPerspective *, int &&, int &&)
-iv2_6_VScroller::GetBarInfo
-#
---format=gnu --no-params
-GetBgColor__C9ivPainter
-ivPainter::GetBgColor(void) const
-ivPainter::GetBgColor
-#
---format=gnu --no-params
-InsertBody__15H_PullrightMenuii
-H_PullrightMenu::InsertBody(int, int)
-H_PullrightMenu::InsertBody
-#
---format=gnu --no-params
-InsertCharacter__9TextManipc
-TextManip::InsertCharacter(char)
-TextManip::InsertCharacter
-#
---format=gnu --no-params
-InsertToplevel__7ivWorldP12ivInteractorT1
-ivWorld::InsertToplevel(ivInteractor *, ivInteractor *)
-ivWorld::InsertToplevel
-#
---format=gnu --no-params
-InsertToplevel__7ivWorldP12ivInteractorT1iiUi
-ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int)
-ivWorld::InsertToplevel
-#
---format=gnu --no-params
-IsAGroup__FP11GraphicViewP11GraphicComp
-IsAGroup(GraphicView *, GraphicComp *)
-IsAGroup
-#
---format=gnu --no-params
-IsA__10ButtonCodeUl
-ButtonCode::IsA(unsigned long)
-ButtonCode::IsA
-#
---format=gnu --no-params
-ReadName__FR7istreamPc
-ReadName(istream &, char *)
-ReadName
-#
---format=gnu --no-params
-Redraw__13StringBrowseriiii
-StringBrowser::Redraw(int, int, int, int)
-StringBrowser::Redraw
-#
---format=gnu --no-params
-Rotate__13ivTransformerf
-ivTransformer::Rotate(float)
-ivTransformer::Rotate
-#
---format=gnu --no-params
-Rotated__C13ivTransformerf
-ivTransformer::Rotated(float) const
-ivTransformer::Rotated
-#
---format=gnu --no-params
-Round__Ff
-Round(float)
-Round
-#
---format=gnu --no-params
-SetExport__16MemberSharedNameUi
-MemberSharedName::SetExport(unsigned int)
-MemberSharedName::SetExport
-#
---format=gnu --no-params
-Set__14ivControlState13ControlStatusUi
-ivControlState::Set(ControlStatus, unsigned int)
-ivControlState::Set
-#
---format=gnu --no-params
-Set__5DFacePcii
-DFace::Set(char *, int, int)
-DFace::Set
-#
---format=gnu --no-params
-VConvert__9ivTSolverP12ivInteractorRP8TElementT2
-ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&)
-ivTSolver::VConvert
-#
---format=gnu --no-params
-VConvert__9ivTSolverP7ivTGlueRP8TElement
-ivTSolver::VConvert(ivTGlue *, TElement *&)
-ivTSolver::VConvert
-#
---format=gnu --no-params
-VOrder__9ivTSolverUiRP12ivInteractorT2
-ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&)
-ivTSolver::VOrder
-#
---format=gnu --no-params
-_10PageButton$__both
-PageButton::__both
-PageButton::__both
-#
---format=gnu --no-params
-_3RNG$singleMantissa
-RNG::singleMantissa
-RNG::singleMantissa
-#
---format=gnu --no-params
-_5IComp$_release
-IComp::_release
-IComp::_release
-#
---format=gnu --no-params
-_$_10BitmapComp
-BitmapComp::~BitmapComp(void)
-BitmapComp::~BitmapComp
-#
---format=gnu --no-params
-_$_9__io_defs
-__io_defs::~__io_defs(void)
-__io_defs::~__io_defs
-#
---format=gnu --no-params
-_$_Q23foo3bar
-foo::bar::~bar(void)
-foo::bar::~bar
-#
---format=gnu --no-params
-_$_Q33foo3bar4bell
-foo::bar::bell::~bell(void)
-foo::bar::bell::~bell
-#
---format=gnu --no-params
-__10ivTelltaleiP7ivGlyph
-ivTelltale::ivTelltale(int, ivGlyph *)
-ivTelltale::ivTelltale
-#
---format=gnu --no-params
-__10ivViewportiP12ivInteractorUi
-ivViewport::ivViewport(int, ivInteractor *, unsigned int)
-ivViewport::ivViewport
-#
---format=gnu --no-params
-__10ostrstream
-ostrstream::ostrstream(void)
-ostrstream::ostrstream
-#
---format=gnu --no-params
-__10ostrstreamPcii
-ostrstream::ostrstream(char *, int, int)
-ostrstream::ostrstream
-#
---format=gnu --no-params
-__11BitmapTablei
-BitmapTable::BitmapTable(int)
-BitmapTable::BitmapTable
-#
---format=gnu --no-params
-__12ViewportCodeP12ViewportComp
-ViewportCode::ViewportCode(ViewportComp *)
-ViewportCode::ViewportCode
-#
---format=gnu --no-params
-__12iv2_6_Borderii
-iv2_6_Border::iv2_6_Border(int, int)
-iv2_6_Border::iv2_6_Border
-#
---format=gnu --no-params
-__12ivBreak_Listl
-ivBreak_List::ivBreak_List(long)
-ivBreak_List::ivBreak_List
-#
---format=gnu --no-params
-__14iv2_6_MenuItemiP12ivInteractor
-iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *)
-iv2_6_MenuItem::iv2_6_MenuItem
-#
---format=gnu --no-params
-__20DisplayList_IteratorR11DisplayList
-DisplayList_Iterator::DisplayList_Iterator(DisplayList &)
-DisplayList_Iterator::DisplayList_Iterator
-#
---format=gnu --no-params
-__3fooRT0
-foo::foo(foo &)
-foo::foo
-#
---format=gnu --no-params
-__3fooiN31
-foo::foo(int, int, int, int)
-foo::foo
-#
---format=gnu --no-params
-__3fooiRT0iT2iT2
-foo::foo(int, foo &, int, foo &, int, foo &)
-foo::foo
-#
---format=gnu --no-params
-__6KeyMapPT0
-KeyMap::KeyMap(KeyMap *)
-KeyMap::KeyMap
-#
---format=gnu --no-params
-__8ArrowCmdP6EditorUiUi
-ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int)
-ArrowCmd::ArrowCmd
-#
---format=gnu --no-params
-__9F_EllipseiiiiP7Graphic
-F_Ellipse::F_Ellipse(int, int, int, int, Graphic *)
-F_Ellipse::F_Ellipse
-#
---format=gnu --no-params
-__9FrameDataP9FrameCompi
-FrameData::FrameData(FrameComp *, int)
-FrameData::FrameData
-#
---format=gnu --no-params
-__9HVGraphicP9CanvasVarP7Graphic
-HVGraphic::HVGraphic(CanvasVar *, Graphic *)
-HVGraphic::HVGraphic
-#
---format=gnu --no-params
-__Q23foo3bar
-foo::bar::bar(void)
-foo::bar::bar
-#
---format=gnu --no-params
-__Q33foo3bar4bell
-foo::bar::bell::bell(void)
-foo::bar::bell::bell
-#
---format=gnu --no-params
-__aa__3fooRT0
-foo::operator&&(foo &)
-foo::operator&&
-#
---format=gnu --no-params
-__aad__3fooRT0
-foo::operator&=(foo &)
-foo::operator&=
-#
---format=gnu --no-params
-__ad__3fooRT0
-foo::operator&(foo &)
-foo::operator&
-#
---format=gnu --no-params
-__adv__3fooRT0
-foo::operator/=(foo &)
-foo::operator/=
-#
---format=gnu --no-params
-__aer__3fooRT0
-foo::operator^=(foo &)
-foo::operator^=
-#
---format=gnu --no-params
-__als__3fooRT0
-foo::operator<<=(foo &)
-foo::operator<<=
-#
---format=gnu --no-params
-__amd__3fooRT0
-foo::operator%=(foo &)
-foo::operator%=
-#
---format=gnu --no-params
-__ami__3fooRT0
-foo::operator-=(foo &)
-foo::operator-=
-#
---format=gnu --no-params
-__aml__3FixRT0
-Fix::operator*=(Fix &)
-Fix::operator*=
-#
---format=gnu --no-params
-__aml__5Fix16i
-Fix16::operator*=(int)
-Fix16::operator*=
-#
---format=gnu --no-params
-__aml__5Fix32RT0
-Fix32::operator*=(Fix32 &)
-Fix32::operator*=
-#
---format=gnu --no-params
-__aor__3fooRT0
-foo::operator|=(foo &)
-foo::operator|=
-#
---format=gnu --no-params
-__apl__3fooRT0
-foo::operator+=(foo &)
-foo::operator+=
-#
---format=gnu --no-params
-__ars__3fooRT0
-foo::operator>>=(foo &)
-foo::operator>>=
-#
---format=gnu --no-params
-__as__3fooRT0
-foo::operator=(foo &)
-foo::operator=
-#
---format=gnu --no-params
-__cl__3fooRT0
-foo::operator()(foo &)
-foo::operator()
-#
---format=gnu --no-params
-__cl__6Normal
-Normal::operator()(void)
-Normal::operator()
-#
---format=gnu --no-params
-__cl__6Stringii
-String::operator()(int, int)
-String::operator()
-#
---format=gnu --no-params
-__cm__3fooRT0
-foo::operator, (foo &)
-foo::operator,
-#
---format=gnu --no-params
-__co__3foo
-foo::operator~(void)
-foo::operator~
-#
---format=gnu --no-params
-__dl__3fooPv
-foo::operator delete(void *)
-foo::operator delete
-#
---format=gnu --no-params
-__dv__3fooRT0
-foo::operator/(foo &)
-foo::operator/
-#
---format=gnu --no-params
-__eq__3fooRT0
-foo::operator==(foo &)
-foo::operator==
-#
---format=gnu --no-params
-__er__3fooRT0
-foo::operator^(foo &)
-foo::operator^
-#
---format=gnu --no-params
-__ge__3fooRT0
-foo::operator>=(foo &)
-foo::operator>=
-#
---format=gnu --no-params
-__gt__3fooRT0
-foo::operator>(foo &)
-foo::operator>
-#
---format=gnu --no-params
-__le__3fooRT0
-foo::operator<=(foo &)
-foo::operator<=
-#
---format=gnu --no-params
-__ls__3fooRT0
-foo::operator<<(foo &)
-foo::operator<<
-#
---format=gnu --no-params
-__ls__FR7ostreamPFR3ios_R3ios
-operator<<(ostream &, ios &(*)(ios &))
-operator<<
-#
---format=gnu --no-params
-__ls__FR7ostreamR3Fix
-operator<<(ostream &, Fix &)
-operator<<
-#
---format=gnu --no-params
-__lt__3fooRT0
-foo::operator<(foo &)
-foo::operator<
-#
---format=gnu --no-params
-__md__3fooRT0
-foo::operator%(foo &)
-foo::operator%
-#
---format=gnu --no-params
-__mi__3fooRT0
-foo::operator-(foo &)
-foo::operator-
-#
---format=gnu --no-params
-__ml__3fooRT0
-foo::operator*(foo &)
-foo::operator*
-#
---format=gnu --no-params
-__mm__3fooi
-foo::operator--(int)
-foo::operator--
-#
---format=gnu --no-params
-__ne__3fooRT0
-foo::operator!=(foo &)
-foo::operator!=
-#
---format=gnu --no-params
-__nt__3foo
-foo::operator!(void)
-foo::operator!
-#
---format=gnu --no-params
-__nw__3fooi
-foo::operator new(int)
-foo::operator new
-#
---format=gnu --no-params
-__oo__3fooRT0
-foo::operator||(foo &)
-foo::operator||
-#
---format=gnu --no-params
-__opPc__3foo
-foo::operator char *(void)
-foo::operator char *
-#
---format=gnu --no-params
-__opi__3foo
-foo::operator int(void)
-foo::operator int
-#
---format=gnu --no-params
-__or__3fooRT0
-foo::operator|(foo &)
-foo::operator|
-#
---format=gnu --no-params
-__pl__3fooRT0
-foo::operator+(foo &)
-foo::operator+
-#
---format=gnu --no-params
-__pp__3fooi
-foo::operator++(int)
-foo::operator++
-#
---format=gnu --no-params
-__rf__3foo
-foo::operator->(void)
-foo::operator->
-#
---format=gnu --no-params
-__rm__3fooRT0
-foo::operator->*(foo &)
-foo::operator->*
-#
---format=gnu --no-params
-__rs__3fooRT0
-foo::operator>>(foo &)
-foo::operator>>
-#
---format=gnu --no-params
-_new_Fix__FUs
-_new_Fix(unsigned short)
-_new_Fix
-#
---format=gnu --no-params
-_vt.foo
-foo virtual table
-foo virtual table
-#
---format=gnu --no-params
-_vt.foo.bar
-foo::bar virtual table
-foo::bar virtual table
-#
---format=gnu --no-params
-_vt$foo
-foo virtual table
-foo virtual table
-#
---format=gnu --no-params
-_vt$foo$bar
-foo::bar virtual table
-foo::bar virtual table
-#
---format=gnu --no-params
-append__7ivGlyphPT0
-ivGlyph::append(ivGlyph *)
-ivGlyph::append
-#
---format=gnu --no-params
-clearok__FP7_win_sti
-clearok(_win_st *, int)
-clearok
-#
---format=gnu --no-params
-complexfunc2__FPFPc_i
-complexfunc2(int (*)(char *))
-complexfunc2
-#
---format=gnu --no-params
-complexfunc3__FPFPFPl_s_i
-complexfunc3(int (*)(short (*)(long *)))
-complexfunc3
-#
---format=gnu --no-params
-complexfunc4__FPFPFPc_s_i
-complexfunc4(int (*)(short (*)(char *)))
-complexfunc4
-#
---format=gnu --no-params
-complexfunc5__FPFPc_PFl_i
-complexfunc5(int (*(*)(char *))(long))
-complexfunc5
-#
---format=gnu --no-params
-complexfunc6__FPFPi_PFl_i
-complexfunc6(int (*(*)(int *))(long))
-complexfunc6
-#
---format=gnu --no-params
-complexfunc7__FPFPFPc_i_PFl_i
-complexfunc7(int (*(*)(int (*)(char *)))(long))
-complexfunc7
-#
---format=gnu --no-params
-foo__FiN30
-foo(int, int, int, int)
-foo
-#
---format=gnu --no-params
-foo__FiR3fooiT1iT1
-foo(int, foo &, int, foo &, int, foo &)
-foo
-#
---format=gnu --no-params
-foo___3barl
-bar::foo_(long)
-bar::foo_
-#
---format=gnu --no-params
-insert__15ivClippingStacklRP8_XRegion
-ivClippingStack::insert(long, _XRegion *&)
-ivClippingStack::insert
-#
---format=gnu --no-params
-insert__16ChooserInfo_ListlR11ChooserInfo
-ChooserInfo_List::insert(long, ChooserInfo &)
-ChooserInfo_List::insert
-#
---format=gnu --no-params
-insert__17FontFamilyRepListlRP15ivFontFamilyRep
-FontFamilyRepList::insert(long, ivFontFamilyRep *&)
-FontFamilyRepList::insert
-#
---format=gnu --no-params
-leaveok__FP7_win_stc
-leaveok(_win_st *, char)
-leaveok
-#
---format=gnu --no-params
-left_mover__C7ivMFKitP12ivAdjustableP7ivStyle
-ivMFKit::left_mover(ivAdjustable *, ivStyle *) const
-ivMFKit::left_mover
-#
---format=gnu --no-params
-overload1arg__FSc
-overload1arg(signed char)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__FUc
-overload1arg(unsigned char)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__FUi
-overload1arg(unsigned int)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__FUl
-overload1arg(unsigned long)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__FUs
-overload1arg(unsigned short)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__Fc
-overload1arg(char)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__Fd
-overload1arg(double)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__Ff
-overload1arg(float)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__Fi
-overload1arg(int)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__Fl
-overload1arg(long)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__Fs
-overload1arg(short)
-overload1arg
-#
---format=gnu --no-params
-overload1arg__Fv
-overload1arg(void)
-overload1arg
-#
---format=gnu --no-params
-overloadargs__Fi
-overloadargs(int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fii
-overloadargs(int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiii
-overloadargs(int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiii
-overloadargs(int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiiii
-overloadargs(int, int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiiiii
-overloadargs(int, int, int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiiiiii
-overloadargs(int, int, int, int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiiiiiii
-overloadargs(int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiiiiiiii
-overloadargs(int, int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiiiiiiiii
-overloadargs(int, int, int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-overloadargs__Fiiiiiiiiiii
-overloadargs(int, int, int, int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=gnu --no-params
-poke__8ivRasterUlUlffff
-ivRaster::poke(unsigned long, unsigned long, float, float, float, float)
-ivRaster::poke
-#
---format=gnu --no-params
-polar__Fdd
-polar(double, double)
-polar
-#
---format=gnu --no-params
-scale__13ivTransformerff
-ivTransformer::scale(float, float)
-ivTransformer::scale
-#
---format=gnu --no-params
-sgetn__7filebufPci
-filebuf::sgetn(char *, int)
-filebuf::sgetn
-#
---format=gnu --no-params
-shift__FP5_FrepiT0
-shift(_Frep *, int, _Frep *)
-shift
-#
---format=gnu --no-params
-test__C6BitSeti
-BitSet::test(int) const
-BitSet::test
-#
---format=gnu --no-params
-test__C6BitSetii
-BitSet::test(int, int) const
-BitSet::test
-#
---format=gnu --no-params
-text_source__8Documentl
-Document::text_source(long)
-Document::text_source
-#
---format=gnu --no-params
-variance__6Erlangd
-Erlang::variance(double)
-Erlang::variance
-#
---format=gnu --no-params
-view__14DocumentViewerP8ItemViewP11TabularItem
-DocumentViewer::view(ItemView *, TabularItem *)
-DocumentViewer::view
-#
---format=gnu --no-params
-xy_extents__11ivExtensionffff
-ivExtension::xy_extents(float, float, float, float)
-ivExtension::xy_extents
-#
---format=gnu --no-params
-zero__8osMemoryPvUi
-osMemory::zero(void *, unsigned int)
-osMemory::zero
-#
---format=gnu --no-params
-_2T4$N
-T4::N
-T4::N
-#
---format=gnu --no-params
-_Q22T42t1$N
-T4::t1::N
-T4::t1::N
-#
---format=gnu --no-params
-get__2T1
-T1::get(void)
-T1::get
-#
---format=gnu --no-params
-get__Q22T11a
-T1::a::get(void)
-T1::a::get
-#
---format=gnu --no-params
-get__Q32T11a1b
-T1::a::b::get(void)
-T1::a::b::get
-#
---format=gnu --no-params
-get__Q42T11a1b1c
-T1::a::b::c::get(void)
-T1::a::b::c::get
-#
---format=gnu --no-params
-get__Q52T11a1b1c1d
-T1::a::b::c::d::get(void)
-T1::a::b::c::d::get
-#
---format=gnu --no-params
-put__2T1i
-T1::put(int)
-T1::put
-#
---format=gnu --no-params
-put__Q22T11ai
-T1::a::put(int)
-T1::a::put
-#
---format=gnu --no-params
-put__Q32T11a1bi
-T1::a::b::put(int)
-T1::a::b::put
-#
---format=gnu --no-params
-put__Q42T11a1b1ci
-T1::a::b::c::put(int)
-T1::a::b::c::put
-#
---format=gnu --no-params
-put__Q52T11a1b1c1di
-T1::a::b::c::d::put(int)
-T1::a::b::c::d::put
-#
---format=gnu --no-params
-bar__3fooPv
-foo::bar(void *)
-foo::bar
-#
---format=gnu --no-params
-bar__C3fooPv
-foo::bar(void *) const
-foo::bar
-#
---format=gnu --no-params
-__eq__3fooRT0
-foo::operator==(foo &)
-foo::operator==
-#
---format=gnu --no-params
-__eq__C3fooR3foo
-foo::operator==(foo &) const
-foo::operator==
-#
---format=gnu --no-params
-elem__t6vector1Zdi
-vector<double>::elem(int)
-vector<double>::elem
-#
---format=gnu --no-params
-elem__t6vector1Zii
-vector<int>::elem(int)
-vector<int>::elem
-#
---format=gnu --no-params
-__t6vector1Zdi
-vector<double>::vector(int)
-vector<double>::vector
-#
---format=gnu --no-params
-__t6vector1Zii
-vector<int>::vector(int)
-vector<int>::vector
-#
---format=gnu --no-params
-_$_t6vector1Zdi
-vector<double>::~vector(int)
-vector<double>::~vector
-#
---format=gnu --no-params
-_$_t6vector1Zii
-vector<int>::~vector(int)
-vector<int>::~vector
-#
---format=gnu --no-params
-__nw__t2T11ZcUi
-T1<char>::operator new(unsigned int)
-T1<char>::operator new
-#
---format=gnu --no-params
-__nw__t2T11Z1tUi
-T1<t>::operator new(unsigned int)
-T1<t>::operator new
-#
---format=gnu --no-params
-__dl__t2T11ZcPv
-T1<char>::operator delete(void *)
-T1<char>::operator delete
-#
---format=gnu --no-params
-__dl__t2T11Z1tPv
-T1<t>::operator delete(void *)
-T1<t>::operator delete
-#
---format=gnu --no-params
-__t2T11Zci
-T1<char>::T1(int)
-T1<char>::T1
-#
---format=gnu --no-params
-__t2T11Zc
-T1<char>::T1(void)
-T1<char>::T1
-#
---format=gnu --no-params
-__t2T11Z1ti
-T1<t>::T1(int)
-T1<t>::T1
-#
---format=gnu --no-params
-__t2T11Z1t
-T1<t>::T1(void)
-T1<t>::T1
-#
---format=gnu --no-params
-__Q2t4List1Z10VHDLEntity3Pix
-List<VHDLEntity>::Pix::Pix(void)
-List<VHDLEntity>::Pix::Pix
-#
---format=gnu --no-params
-__Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element
-List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::element *)
-List<VHDLEntity>::Pix::Pix
-#
---format=gnu --no-params
-__Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix
-List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &)
-List<VHDLEntity>::Pix::Pix
-#
---format=gnu --no-params
-__Q2t4List1Z10VHDLEntity3PixOCQ2t4List1Z10VHDLEntity3Pix
-List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &&)
-List<VHDLEntity>::Pix::Pix
-#
---format=gnu --no-params
-__Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0
-List<VHDLEntity>::element::element(VHDLEntity const &, List<VHDLEntity>::element *)
-List<VHDLEntity>::element::element
-#
---format=gnu --no-params
-__Q2t4List1Z10VHDLEntity7elementOC10VHDLEntityPT0
-List<VHDLEntity>::element::element(VHDLEntity const &&, List<VHDLEntity>::element *)
-List<VHDLEntity>::element::element
-#
---format=gnu --no-params
-__Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element
-List<VHDLEntity>::element::element(List<VHDLEntity>::element const &)
-List<VHDLEntity>::element::element
-#
---format=gnu --no-params
-__cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
-VHDLLibrary::operator()(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >) const
-VHDLLibrary::operator()
-#
---format=gnu --no-params
-__cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix
-List<VHDLEntity>::operator()(List<VHDLEntity>::Pix const &) const
-List<VHDLEntity>::operator()
-#
---format=gnu --no-params
-__ne__FPvRCQ2t4List1Z10VHDLEntity3Pix
-operator!=(void *, List<VHDLEntity>::Pix const &)
-operator!=
-#
---format=gnu --no-params
-__ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
-operator!=(void *, PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
-operator!=
-#
---format=gnu --no-params
-__t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity
-List<VHDLEntity>::List(List<VHDLEntity> const &)
-List<VHDLEntity>::List
-#
---format=gnu --no-params
-__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(void)
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
-#
---format=gnu --no-params
-__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(VHDLLibraryRep *, List<VHDLEntity>::Pix)
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
-#
---format=gnu --no-params
-__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
-#
---format=gnu --no-params
-__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityOCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &&)
-PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
-#
---format=gnu --no-params
-nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
-VHDLLibrary::nextE(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > &) const
-VHDLLibrary::nextE
-#
---format=gnu --no-params
-next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix
-List<VHDLEntity>::next(List<VHDLEntity>::Pix &) const
-List<VHDLEntity>::next
-#
---format=gnu --no-params
-_GLOBAL_$D$set
-global destructors keyed to set
-global destructors keyed to set
-#
---format=gnu --no-params
-_GLOBAL_$I$set
-global constructors keyed to set
-global constructors keyed to set
-#
---format=gnu --no-params
-__as__t5ListS1ZUiRCt5ListS1ZUi
-ListS<unsigned int>::operator=(ListS<unsigned int> const &)
-ListS<unsigned int>::operator=
-#
---format=gnu --no-params
-__cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix
-ListS<unsigned int>::operator()(ListS<unsigned int>::Vix const &) const
-ListS<unsigned int>::operator()
-#
---format=gnu --no-params
-__cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix
-SetLS<unsigned int>::operator()(SetLS<unsigned int>::Vix const &) const
-SetLS<unsigned int>::operator()
-#
---format=gnu --no-params
-__t10ListS_link1ZUiRCUiPT0
-ListS_link<unsigned int>::ListS_link(unsigned int const &, ListS_link<unsigned int> *)
-ListS_link<unsigned int>::ListS_link
-#
---format=gnu --no-params
-__t10ListS_link1ZUiRCt10ListS_link1ZUi
-ListS_link<unsigned int>::ListS_link(ListS_link<unsigned int> const &)
-ListS_link<unsigned int>::ListS_link
-#
---format=gnu --no-params
-__t5ListS1ZUiRCt5ListS1ZUi
-ListS<unsigned int>::ListS(ListS<unsigned int> const &)
-ListS<unsigned int>::ListS
-#
---format=gnu --no-params
-next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix
-ListS<unsigned int>::next(ListS<unsigned int>::Vix &) const
-ListS<unsigned int>::next
-#
---format=gnu --no-params
-__ne__FPvRCQ2t5SetLS1ZUi3Vix
-operator!=(void *, SetLS<unsigned int>::Vix const &)
-operator!=
-#
---format=gnu --no-params
-__t8ListElem1Z5LabelRt4List1Z5Label
-ListElem<Label>::ListElem(List<Label> &)
-ListElem<Label>::ListElem
-#
---format=gnu --no-params
-__t8BDDHookV1ZPcRCPc
-BDDHookV<char *>::BDDHookV(char *const &)
-BDDHookV<char *>::BDDHookV
-#
---format=gnu --no-params
-_vt$t8BDDHookV1ZPc
-BDDHookV<char *> virtual table
-BDDHookV<char *> virtual table
-#
---format=gnu --no-params
-__ne__FPvRCQ211BDDFunction4VixB
-operator!=(void *, BDDFunction::VixB const &)
-operator!=
-#
---format=gnu --no-params
-__eq__FPvRCQ211BDDFunction4VixB
-operator==(void *, BDDFunction::VixB const &)
-operator==
-#
---format=gnu --no-params
-relativeId__CQ36T_phi210T_preserve8FPC_nextRCQ26T_phi210T_preserveRC10Parameters
-T_phi2::T_preserve::FPC_next::relativeId(T_phi2::T_preserve const &, Parameters const &) const
-T_phi2::T_preserve::FPC_next::relativeId
-#
---format=lucid --no-params
-WS__FR7istream
-WS(istream &)
-WS
-#
---format=lucid --no-params
-__aa__3fooFR3foo
-foo::operator&&(foo &)
-foo::operator&&
-#
---format=lucid --no-params
-__aad__3fooFR3foo
-foo::operator&=(foo &)
-foo::operator&=
-#
---format=lucid --no-params
-__ad__3fooFR3foo
-foo::operator&(foo &)
-foo::operator&
-#
---format=lucid --no-params
-__adv__3fooFR3foo
-foo::operator/=(foo &)
-foo::operator/=
-#
---format=lucid --no-params
-__adv__7complexF7complex
-complex::operator/=(complex)
-complex::operator/=
-#
---format=lucid --no-params
-__aer__3fooFR3foo
-foo::operator^=(foo &)
-foo::operator^=
-#
---format=lucid --no-params
-__als__3fooFR3foo
-foo::operator<<=(foo &)
-foo::operator<<=
-#
---format=lucid --no-params
-__amd__3fooFR3foo
-foo::operator%=(foo &)
-foo::operator%=
-#
---format=lucid --no-params
-__ami__3fooFR3foo
-foo::operator-=(foo &)
-foo::operator-=
-#
---format=lucid --no-params
-__amu__3fooFR3foo
-foo::operator*=(foo &)
-foo::operator*=
-#
---format=lucid --no-params
-__amu__7complexF7complex
-complex::operator*=(complex)
-complex::operator*=
-#
---format=lucid --no-params
-__aor__3fooFR3foo
-foo::operator|=(foo &)
-foo::operator|=
-#
---format=lucid --no-params
-__apl__3fooFR3foo
-foo::operator+=(foo &)
-foo::operator+=
-#
---format=lucid --no-params
-__ars__3fooFR3foo
-foo::operator>>=(foo &)
-foo::operator>>=
-#
---format=lucid --no-params
-__as__18istream_withassignFP9streambuf
-istream_withassign::operator=(streambuf *)
-istream_withassign::operator=
-#
---format=lucid --no-params
-__as__18istream_withassignFR7istream
-istream_withassign::operator=(istream &)
-istream_withassign::operator=
-#
---format=lucid --no-params
-__as__3fooFR3foo
-foo::operator=(foo &)
-foo::operator=
-#
---format=lucid --no-params
-__as__3iosFR3ios
-ios::operator=(ios &)
-ios::operator=
-#
---format=lucid --no-params
-__cl__3fooFR3foo
-foo::operator()(foo &)
-foo::operator()
-#
---format=lucid --no-params
-__cm__3fooFR3foo
-foo::operator, (foo &)
-foo::operator,
-#
---format=lucid --no-params
-__co__3fooFv
-foo::operator~(void)
-foo::operator~
-#
---format=lucid --no-params
-__ct__10istrstreamFPc
-istrstream::istrstream(char *)
-istrstream::istrstream
-#
---format=lucid --no-params
-__ct__10istrstreamFPci
-istrstream::istrstream(char *, int)
-istrstream::istrstream
-#
---format=lucid --no-params
-__ct__10ostrstreamFPciT2
-ostrstream::ostrstream(char *, int, int)
-ostrstream::ostrstream
-#
---format=lucid --no-params
-__ct__10ostrstreamFv
-ostrstream::ostrstream(void)
-ostrstream::ostrstream
-#
---format=lucid --no-params
-__ct__10smanip_intFPFR3iosi_R3iosi
-smanip_int::smanip_int(ios &(*)(ios &, int), int)
-smanip_int::smanip_int
-#
---format=lucid --no-params
-__ct__10smanip_intFPFO3iosi_O3iosi
-smanip_int::smanip_int(ios &&(*)(ios &&, int), int)
-smanip_int::smanip_int
-#
---format=lucid --no-params
-__ct__11fstreambaseFi
-fstreambase::fstreambase(int)
-fstreambase::fstreambase
-#
---format=lucid --no-params
-__ct__11fstreambaseFiPcT1
-fstreambase::fstreambase(int, char *, int)
-fstreambase::fstreambase
-#
---format=lucid --no-params
-__ct__11fstreambaseFv
-fstreambase::fstreambase(void)
-fstreambase::fstreambase
-#
---format=lucid --no-params
-__ct__11smanip_longFPFR3iosl_R3iosl
-smanip_long::smanip_long(ios &(*)(ios &, long), long)
-smanip_long::smanip_long
-#
---format=lucid --no-params
-__ct__11smanip_longFPFO3iosl_O3iosl
-smanip_long::smanip_long(ios &&(*)(ios &&, long), long)
-smanip_long::smanip_long
-#
---format=lucid --no-params
-__ct__11stdiostreamFP4FILE
-stdiostream::stdiostream(FILE *)
-stdiostream::stdiostream
-#
---format=lucid --no-params
-__ct__12strstreambufFPFl_PvPFPv_v
-strstreambuf::strstreambuf(void *(*)(long), void (*)(void *))
-strstreambuf::strstreambuf
-#
---format=lucid --no-params
-__ct__12strstreambufFPUciT1
-strstreambuf::strstreambuf(unsigned char *, int, unsigned char *)
-strstreambuf::strstreambuf
-#
---format=lucid --no-params
-__ct__12strstreambufFPciT1
-strstreambuf::strstreambuf(char *, int, char *)
-strstreambuf::strstreambuf
-#
---format=lucid --no-params
-__ct__12strstreambufFi
-strstreambuf::strstreambuf(int)
-strstreambuf::strstreambuf
-#
---format=lucid --no-params
-__ct__12strstreambufFv
-strstreambuf::strstreambuf(void)
-strstreambuf::strstreambuf
-#
---format=lucid --no-params
-__ct__13strstreambaseFPciT1
-strstreambase::strstreambase(char *, int, char *)
-strstreambase::strstreambase
-#
---format=lucid --no-params
-__ct__3fooFR3foo
-foo::foo(foo &)
-foo::foo
-#
---format=lucid --no-params
-__ct__3fooFO3foo
-foo::foo(foo &&)
-foo::foo
-#
---format=lucid --no-params
-__ct__3fooFi
-foo::foo(int)
-foo::foo
-#
---format=lucid --no-params
-__ct__3fooFiN31
-foo::foo(int, int, int, int)
-foo::foo
-#
---format=lucid --no-params
-__ct__3fooFiR3fooT1T2T1T2
-foo::foo(int, foo &, int, foo &, int, foo &)
-foo::foo
-#
---format=lucid --no-params
-__ct__3fooFiO3fooT1T2T1T2
-foo::foo(int, foo &&, int, foo &&, int, foo &&)
-foo::foo
-#
---format=lucid --no-params
-__ct__3iosFP9streambuf
-ios::ios(streambuf *)
-ios::ios
-#
---format=lucid --no-params
-__ct__7filebufFiPcT1
-filebuf::filebuf(int, char *, int)
-filebuf::filebuf
-#
---format=lucid --no-params
-__ct__7fstreamFiPcT1
-fstream::fstream(int, char *, int)
-fstream::fstream
-#
---format=lucid --no-params
-__ct__7istreamFP9streambuf
-istream::istream(streambuf *)
-istream::istream
-#
---format=lucid --no-params
-__ct__7istreamFP9streambufiP7ostream
-istream::istream(streambuf *, int, ostream *)
-istream::istream
-#
---format=lucid --no-params
-__ct__7istreamFiPcT1
-istream::istream(int, char *, int)
-istream::istream
-#
---format=lucid --no-params
-__ct__7istreamFiT1P7ostream
-istream::istream(int, int, ostream *)
-istream::istream
-#
---format=lucid --no-params
-__ct__7ostreamFP9streambuf
-ostream::ostream(streambuf *)
-ostream::ostream
-#
---format=lucid --no-params
-__ct__7ostreamFiPc
-ostream::ostream(int, char *)
-ostream::ostream
-#
---format=lucid --no-params
-__ct__8ifstreamFiPcT1
-ifstream::ifstream(int, char *, int)
-ifstream::ifstream
-#
---format=lucid --no-params
-__ct__Q23foo3barFv
-foo::bar::bar(void)
-foo::bar::bar
-#
---format=lucid --no-params
-__ct__Q33foo3bar4bellFv
-foo::bar::bell::bell(void)
-foo::bar::bell::bell
-#
---format=lucid --no-params
-__dl__3fooSFPv
-foo::operator delete(void *) static
-foo::operator delete
-#
---format=lucid --no-params
-__dl__FPv
-operator delete(void *)
-operator delete
-#
---format=lucid --no-params
-__dt__10istrstreamFv
-istrstream::~istrstream(void)
-istrstream::~istrstream
-#
---format=lucid --no-params
-__dt__Q23foo3barFv
-foo::bar::~bar(void)
-foo::bar::~bar
-#
---format=lucid --no-params
-__dt__Q33foo3bar4bellFv
-foo::bar::bell::~bell(void)
-foo::bar::bell::~bell
-#
---format=lucid --no-params
-__dv__3fooFR3foo
-foo::operator/(foo &)
-foo::operator/
-#
---format=lucid --no-params
-__dv__F7complexT1
-operator/(complex, complex)
-operator/
-#
---format=lucid --no-params
-__eq__3fooFR3foo
-foo::operator==(foo &)
-foo::operator==
-#
---format=lucid --no-params
-__er__3fooFR3foo
-foo::operator^(foo &)
-foo::operator^
-#
---format=lucid --no-params
-__ge__3fooFR3foo
-foo::operator>=(foo &)
-foo::operator>=
-#
---format=lucid --no-params
-__gt__3fooFR3foo
-foo::operator>(foo &)
-foo::operator>
-#
---format=lucid --no-params
-__le__3fooFR3foo
-foo::operator<=(foo &)
-foo::operator<=
-#
---format=lucid --no-params
-__ls__3fooFR3foo
-foo::operator<<(foo &)
-foo::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFP9streambuf
-ostream::operator<<(streambuf *)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFPFR3ios_R3ios
-ostream::operator<<(ios &(*)(ios &))
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFPv
-ostream::operator<<(void *)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFUi
-ostream::operator<<(unsigned int)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFUl
-ostream::operator<<(unsigned long)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFd
-ostream::operator<<(double)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFf
-ostream::operator<<(float)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFi
-ostream::operator<<(int)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__7ostreamFl
-ostream::operator<<(long)
-ostream::operator<<
-#
---format=lucid --no-params
-__ls__FR7ostream7complex
-operator<<(ostream &, complex)
-operator<<
-#
---format=lucid --no-params
-__lt__3fooFR3foo
-foo::operator<(foo &)
-foo::operator<
-#
---format=lucid --no-params
-__md__3fooFR3foo
-foo::operator%(foo &)
-foo::operator%
-#
---format=lucid --no-params
-__mi__3fooFR3foo
-foo::operator-(foo &)
-foo::operator-
-#
---format=lucid --no-params
-__ml__3fooFR3foo
-foo::operator*(foo &)
-foo::operator*
-#
---format=lucid --no-params
-__ml__F7complexT1
-operator*(complex, complex)
-operator*
-#
---format=lucid --no-params
-__mm__3fooFi
-foo::operator--(int)
-foo::operator--
-#
---format=lucid --no-params
-__ne__3fooFR3foo
-foo::operator!=(foo &)
-foo::operator!=
-#
---format=lucid --no-params
-__nt__3fooFv
-foo::operator!(void)
-foo::operator!
-#
---format=lucid --no-params
-__nw__3fooSFi
-foo::operator new(int) static
-foo::operator new
-#
---format=lucid --no-params
-__nw__FUi
-operator new(unsigned int)
-operator new
-#
---format=lucid --no-params
-__nw__FUiPv
-operator new(unsigned int, void *)
-operator new
-#
---format=lucid --no-params
-__oo__3fooFR3foo
-foo::operator||(foo &)
-foo::operator||
-#
---format=lucid --no-params
-__opPc__3fooFv
-foo::operator char *(void)
-foo::operator char *
-#
---format=lucid --no-params
-__opi__3fooFv
-foo::operator int(void)
-foo::operator int
-#
---format=lucid --no-params
-__or__3fooFR3foo
-foo::operator|(foo &)
-foo::operator|
-#
---format=lucid --no-params
-__pl__3fooFR3foo
-foo::operator+(foo &)
-foo::operator+
-#
---format=lucid --no-params
-__pp__3fooFi
-foo::operator++(int)
-foo::operator++
-#
---format=lucid --no-params
-__pt__3fooFv
-foo::operator->(void)
-foo::operator->
-#
---format=lucid --no-params
-__rm__3fooFR3foo
-foo::operator->*(foo &)
-foo::operator->*
-#
---format=lucid --no-params
-__rs__3fooFR3foo
-foo::operator>>(foo &)
-foo::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFP9streambuf
-istream::operator>>(streambuf *)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFPFR3ios_R3ios
-istream::operator>>(ios &(*)(ios &))
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFPFR7istream_R7istream
-istream::operator>>(istream &(*)(istream &))
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFPUc
-istream::operator>>(unsigned char *)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFPc
-istream::operator>>(char *)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRUi
-istream::operator>>(unsigned int &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRUl
-istream::operator>>(unsigned long &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRUs
-istream::operator>>(unsigned short &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRd
-istream::operator>>(double &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRf
-istream::operator>>(float &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRi
-istream::operator>>(int &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRl
-istream::operator>>(long &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__7istreamFRs
-istream::operator>>(short &)
-istream::operator>>
-#
---format=lucid --no-params
-__rs__FR7istreamR7complex
-operator>>(istream &, complex &)
-operator>>
-#
---format=lucid --no-params
-__vtbl__10istrstream
-istrstream virtual table
-istrstream virtual table
-#
---format=lucid --no-params
-__vtbl__17ostream__iostream__19iostream_withassign
-iostream_withassign::ostream__iostream virtual table
-iostream_withassign::ostream__iostream virtual table
-#
---format=lucid --no-params
-__vtbl__3ios
-ios virtual table
-ios virtual table
-#
---format=lucid --no-params
-__vtbl__3ios__13strstreambase
-strstreambase::ios virtual table
-strstreambase::ios virtual table
-#
---format=lucid --no-params
-abs__F7complex
-abs(complex)
-abs
-#
---format=lucid --no-params
-allocate__9streambufFv
-streambuf::allocate(void)
-streambuf::allocate
-#
---format=lucid --no-params
-attach__11fstreambaseFi
-fstreambase::attach(int)
-fstreambase::attach
-#
---format=lucid --no-params
-bitalloc__3iosSFv
-ios::bitalloc(void) static
-ios::bitalloc
-#
---format=lucid --no-params
-chr__FiT1
-chr(int, int)
-chr
-#
---format=lucid --no-params
-complex_error__FR11c_exception
-complex_error(c_exception &)
-complex_error
-#
---format=lucid --no-params
-complexfunc2__FPFPc_i
-complexfunc2(int (*)(char *))
-complexfunc2
-#
---format=lucid --no-params
-complexfunc3__FPFPFPl_s_i
-complexfunc3(int (*)(short (*)(long *)))
-complexfunc3
-#
---format=lucid --no-params
-complexfunc4__FPFPFPc_s_i
-complexfunc4(int (*)(short (*)(char *)))
-complexfunc4
-#
---format=lucid --no-params
-complexfunc5__FPFPc_PFl_i
-complexfunc5(int (*(*)(char *))(long))
-complexfunc5
-#
---format=lucid --no-params
-complexfunc6__FPFPi_PFl_i
-complexfunc6(int (*(*)(int *))(long))
-complexfunc6
-#
---format=lucid --no-params
-complexfunc7__FPFPFPc_i_PFl_i
-complexfunc7(int (*(*)(int (*)(char *)))(long))
-complexfunc7
-#
---format=lucid --no-params
-complicated_put__7ostreamFc
-ostream::complicated_put(char)
-ostream::complicated_put
-#
---format=lucid --no-params
-conv10__FlPc
-conv10(long, char *)
-conv10
-#
---format=lucid --no-params
-conv16__FUlPc
-conv16(unsigned long, char *)
-conv16
-#
---format=lucid --no-params
-dec__FR3ios
-dec(ios &)
-dec
-#
---format=lucid --no-params
-dec__Fli
-dec(long, int)
-dec
-#
---format=lucid --no-params
-dofield__FP7ostreamPciT2T3
-dofield(ostream *, char *, int, char *, int)
-dofield
-#
---format=lucid --no-params
-flags__3iosFl
-ios::flags(long)
-ios::flags
-#
---format=lucid --no-params
-flags__3iosFv
-ios::flags(void)
-ios::flags
-#
---format=lucid --no-params
-foo__FiN31
-foo(int, int, int, int)
-foo
-#
---format=lucid --no-params
-foo__FiR3fooT1T2T1T2
-foo(int, foo &, int, foo &, int, foo &)
-foo
-#
---format=lucid --no-params
-foo__FiO3fooT1T2T1T2
-foo(int, foo &&, int, foo &&, int, foo &&)
-foo
-#
---format=lucid --no-params
-foo___3barFl
-bar::foo_(long)
-bar::foo_
-#
---format=lucid --no-params
-get__7istreamFPcic
-istream::get(char *, int, char)
-istream::get
-#
---format=lucid --no-params
-get__7istreamFR9streambufc
-istream::get(streambuf &, char)
-istream::get
-#
---format=lucid --no-params
-get_complicated__7istreamFRUc
-istream::get_complicated(unsigned char &)
-istream::get_complicated
-#
---format=lucid --no-params
-get_complicated__7istreamFRc
-istream::get_complicated(char &)
-istream::get_complicated
-#
---format=lucid --no-params
-getline__7istreamFPUcic
-istream::getline(unsigned char *, int, char)
-istream::getline
-#
---format=lucid --no-params
-getline__7istreamFPcic
-istream::getline(char *, int, char)
-istream::getline
-#
---format=lucid --no-params
-ignore__7istreamFiT1
-istream::ignore(int, int)
-istream::ignore
-#
---format=lucid --no-params
-init__12strstreambufFPciT1
-strstreambuf::init(char *, int, char *)
-strstreambuf::init
-#
---format=lucid --no-params
-init__3iosFP9streambuf
-ios::init(streambuf *)
-ios::init
-#
---format=lucid --no-params
-initcount__13Iostream_init
-Iostream_init::initcount
-Iostream_init::initcount
-#
---format=lucid --no-params
-ipfx__7istreamFi
-istream::ipfx(int)
-istream::ipfx
-#
---format=lucid --no-params
-ls_complicated__7ostreamFUc
-ostream::ls_complicated(unsigned char)
-ostream::ls_complicated
-#
---format=lucid --no-params
-ls_complicated__7ostreamFc
-ostream::ls_complicated(char)
-ostream::ls_complicated
-#
---format=lucid --no-params
-overload1arg__FSc
-overload1arg(signed char)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__FUc
-overload1arg(unsigned char)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__FUi
-overload1arg(unsigned int)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__FUl
-overload1arg(unsigned long)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__FUs
-overload1arg(unsigned short)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__Fc
-overload1arg(char)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__Fd
-overload1arg(double)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__Ff
-overload1arg(float)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__Fi
-overload1arg(int)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__Fl
-overload1arg(long)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__Fs
-overload1arg(short)
-overload1arg
-#
---format=lucid --no-params
-overload1arg__Fv
-overload1arg(void)
-overload1arg
-#
---format=lucid --no-params
-overloadargs__FiN21
-overloadargs(int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN31
-overloadargs(int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN41
-overloadargs(int, int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN51
-overloadargs(int, int, int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN61
-overloadargs(int, int, int, int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN71
-overloadargs(int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN81
-overloadargs(int, int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN91
-overloadargs(int, int, int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiN91N11
-overloadargs(int, int, int, int, int, int, int, int, int, int, int)
-overloadargs
-#
---format=lucid --no-params
-overloadargs__FiT1
-overloadargs(int, int)
-overloadargs
-#
---format=lucid --no-params
-polar__FdT1
-polar(double, double)
-polar
-#
---format=lucid --no-params
-pow__F7complexT1
-pow(complex, complex)
-pow
-#
---format=lucid --no-params
-pow__F7complexd
-pow(complex, double)
-pow
-#
---format=lucid --no-params
-pow__F7complexi
-pow(complex, int)
-pow
-#
---format=lucid --no-params
-pow__Fd7complex
-pow(double, complex)
-pow
-#
---format=lucid --no-params
-pstart__FPciT2
-pstart(char *, int, int)
-pstart
-#
---format=lucid --no-params
-put__7ostreamFc
-ostream::put(char)
-ostream::put
-#
---format=lucid --no-params
-read__7istreamFPci
-istream::read(char *, int)
-istream::read
-#
---format=lucid --no-params
-resetiosflags__FR3iosl
-resetiosflags(ios &, long)
-resetiosflags
-#
---format=lucid --no-params
-restore_errno__FRi
-restore_errno(int &)
-restore_errno
-#
---format=lucid --no-params
-rs_complicated__7istreamFRUc
-istream::rs_complicated(unsigned char &)
-istream::rs_complicated
-#
---format=lucid --no-params
-rs_complicated__7istreamFRc
-istream::rs_complicated(char &)
-istream::rs_complicated
-#
---format=lucid --no-params
-seekg__7istreamFl8seek_dir
-istream::seekg(long, seek_dir)
-istream::seekg
-#
---format=lucid --no-params
-seekoff__12strstreambufFl8seek_diri
-strstreambuf::seekoff(long, seek_dir, int)
-strstreambuf::seekoff
-#
---format=lucid --no-params
-seekoff__9streambufFlQ2_3ios12ios_seek_diri
-streambuf::seekoff(long, ios::ios_seek_dir, int)
-streambuf::seekoff
-#
---format=lucid --no-params
-seekpos__9streambufFli
-streambuf::seekpos(long, int)
-streambuf::seekpos
-#
---format=lucid --no-params
-set_new_handler__FPFv_v
-set_new_handler(void (*)(void))
-set_new_handler
-#
---format=lucid --no-params
-setb__9streambufFPcT1i
-streambuf::setb(char *, char *, int)
-streambuf::setb
-#
---format=lucid --no-params
-setb__FR3iosi
-setb(ios &, int)
-setb
-#
---format=lucid --no-params
-setbuf__11fstreambaseFPci
-fstreambase::setbuf(char *, int)
-fstreambase::setbuf
-#
---format=lucid --no-params
-setbuf__9streambufFPUci
-streambuf::setbuf(unsigned char *, int)
-streambuf::setbuf
-#
---format=lucid --no-params
-setbuf__9streambufFPciT2
-streambuf::setbuf(char *, int, int)
-streambuf::setbuf
-#
---format=lucid --no-params
-setf__3iosFlT1
-ios::setf(long, long)
-ios::setf
-#
---format=lucid --no-params
-setfill__FR3iosi
-setfill(ios &, int)
-setfill
-#
---format=lucid --no-params
-setg__9streambufFPcN21
-streambuf::setg(char *, char *, char *)
-streambuf::setg
-#
---format=lucid --no-params
-setp__9streambufFPcT1
-streambuf::setp(char *, char *)
-streambuf::setp
-#
---format=lucid --no-params
-tie__3iosFP7ostream
-ios::tie(ostream *)
-ios::tie
-#
---format=lucid --no-params
-uconv10__FUlPc
-uconv10(unsigned long, char *)
-uconv10
-#
---format=lucid --no-params
-xget__7istreamFPc
-istream::xget(char *)
-istream::xget
-#
---format=lucid --no-params
-xsgetn__9streambufFPci
-streambuf::xsgetn(char *, int)
-streambuf::xsgetn
-#
---format=arm --no-params
-__dt__21T5__pt__11_PFiPPdPv_iFv
-T5<int (*)(int, double **, void *)>::~T5(void)
-T5<int (*)(int, double **, void *)>::~T5
-#
---format=arm --no-params
-__ct__1cFi
-c::c(int)
-c::c
-#
---format=arm --no-params
-__dt__11T5__pt__2_iFv
-T5<int>::~T5(void)
-T5<int>::~T5
-#
---format=arm --no-params
-__dt__11T5__pt__2_cFv
-T5<char>::~T5(void)
-T5<char>::~T5
-#
---format=arm --no-params
-__ct__2T2Fi
-T2::T2(int)
-T2::T2
-#
---format=arm --no-params
-__dt__2T1Fv
-T1::~T1(void)
-T1::~T1
-#
---format=arm --no-params
-__dt__12T5__pt__3_1xFv
-T5<x>::~T5(void)
-T5<x>::~T5
-#
---format=arm --no-params
-__dt__17T5__pt__8_PFcPv_iFv
-T5<int (*)(char, void *)>::~T5(void)
-T5<int (*)(char, void *)>::~T5
-#
---format=arm --no-params
-__ct__21T5__pt__11_PFiPPdPv_iFi
-T5<int (*)(int, double **, void *)>::T5(int)
-T5<int (*)(int, double **, void *)>::T5
-#
---format=arm --no-params
-__amd__FR2T2i
-operator%=(T2 &, int)
-operator%=
-#
---format=arm --no-params
-__adv__FR2T2i
-operator/=(T2 &, int)
-operator/=
-#
---format=arm --no-params
-__amu__FR2T2i
-operator*=(T2 &, int)
-operator*=
-#
---format=arm --no-params
-__ami__FR2T2i
-operator-=(T2 &, int)
-operator-=
-#
---format=arm --no-params
-__apl__FR2T2i
-operator+=(T2 &, int)
-operator+=
-#
---format=arm --no-params
-__nw__2T1SFUi
-T1::operator new(unsigned int) static
-T1::operator new
-#
---format=arm --no-params
-__dl__2T1SFPv
-T1::operator delete(void *) static
-T1::operator delete
-#
---format=arm --no-params
-put__2T7SFi
-T7::put(int) static
-T7::put
-#
---format=arm --no-params
-__dl__12T5__pt__3_1xSFPv
-T5<x>::operator delete(void *) static
-T5<x>::operator delete
-#
---format=arm --no-params
-h__FUc
-h(unsigned char)
-h
-#
---format=arm --no-params
-f__Fic
-f(int, char)
-f
-#
---format=arm --no-params
-h__FUi
-h(unsigned int)
-h
-#
---format=arm --no-params
-h__Fci
-h(char, int)
-h
-#
---format=arm --no-params
-h__FUl
-h(unsigned long)
-h
-#
---format=arm --no-params
-h__Fcl
-h(char, long)
-h
-#
---format=arm --no-params
-h__FUs
-h(unsigned short)
-h
-#
---format=arm --no-params
-h__Fcs
-h(char, short)
-h
-#
---format=arm --no-params
-X__12T5__pt__3_1x
-T5<x>::X
-T5<x>::X
-#
---format=arm --no-params
-__ct__11T5__pt__2_iFi
-T5<int>::T5(int)
-T5<int>::T5
-#
---format=arm --no-params
-__ct__11T5__pt__2_cFi
-T5<char>::T5(int)
-T5<char>::T5
-#
---format=arm --no-params
-h__FcT1
-h(char, char)
-h
-#
---format=arm --no-params
-f__Ficd
-f(int, char, double)
-f
-#
---format=arm --no-params
-__dl__17T5__pt__8_PFcPv_iSFPv
-T5<int (*)(char, void *)>::operator delete(void *) static
-T5<int (*)(char, void *)>::operator delete
-#
---format=arm --no-params
-X__17T5__pt__8_PFcPv_i
-T5<int (*)(char, void *)>::X
-T5<int (*)(char, void *)>::X
-#
---format=arm --no-params
-__ct__12T5__pt__3_1xFi
-T5<x>::T5(int)
-T5<x>::T5
-#
---format=arm --no-params
-__dl__21T5__pt__11_PFiPPdPv_iSFPv
-T5<int (*)(int, double **, void *)>::operator delete(void *) static
-T5<int (*)(int, double **, void *)>::operator delete
-#
---format=arm --no-params
-__std__foo
-global destructors keyed to foo
-global destructors keyed to foo
-#
---format=arm --no-params
-__sti__bar
-global constructors keyed to bar
-global constructors keyed to bar
-#
---format=arm --no-params
-f__FicdPcPFci_v
-f(int, char, double, char *, void (*)(char, int))
-f
-#
---format=arm --no-params
-f__FicdPcPFic_v
-f(int, char, double, char *, void (*)(int, char))
-f
-#
---format=arm --no-params
-get__2T7SFv
-T7::get(void) static
-T7::get
-#
---format=arm --no-params
-X__21T5__pt__11_PFiPPdPv_i
-T5<int (*)(int, double **, void *)>::X
-T5<int (*)(int, double **, void *)>::X
-#
---format=arm --no-params
-__dl__11T5__pt__2_iSFPv
-T5<int>::operator delete(void *) static
-T5<int>::operator delete
-#
---format=arm --no-params
-__dl__11T5__pt__2_cSFPv
-T5<char>::operator delete(void *) static
-T5<char>::operator delete
-#
---format=arm --no-params
-h__Fc
-h(char)
-h
-#
---format=arm --no-params
-h__Fd
-h(double)
-h
-#
---format=arm --no-params
-h__Ff
-h(float)
-h
-#
---format=arm --no-params
-h__Fi
-h(int)
-h
-#
---format=arm --no-params
-f__Fi
-f(int)
-f
-#
---format=arm --no-params
-h__Fl
-h(long)
-h
-#
---format=arm --no-params
-h__Fs
-h(short)
-h
-#
---format=arm --no-params
-X__11T5__pt__2_c
-T5<char>::X
-T5<char>::X
-#
---format=arm --no-params
-X__11T5__pt__2_i
-T5<int>::X
-T5<int>::X
-#
---format=arm --no-params
-__ct__17T5__pt__8_PFcPv_iFi
-T5<int (*)(char, void *)>::T5(int)
-T5<int (*)(char, void *)>::T5
-#
---format=arm --no-params
-f__FicdPc
-f(int, char, double, char *)
-f
-#
---format=arm --no-params
-__nw__FUi
-operator new(unsigned int)
-operator new
-#
---format=arm --no-params
-__ct__Q3_2T11a1bSFi
-T1::a::b::b(int) static
-T1::a::b::b
-#
---format=arm --no-params
-__dt__Q3_2T11a1bSFi
-T1::a::b::~b(int) static
-T1::a::b::~b
-#
---format=arm --no-params
-put__Q3_2T11a1bSFi
-T1::a::b::put(int) static
-T1::a::b::put
-#
---format=arm --no-params
-get__Q2_2T11aSFv
-T1::a::get(void) static
-T1::a::get
-#
---format=arm --no-params
-put__2T1SFi
-T1::put(int) static
-T1::put
-#
---format=arm --no-params
-put__Q5_2T11a1b1c1dSFi
-T1::a::b::c::d::put(int) static
-T1::a::b::c::d::put
-#
---format=arm --no-params
-get__Q4_2T11a1b1cSFv
-T1::a::b::c::get(void) static
-T1::a::b::c::get
-#
---format=arm --no-params
-put__Q2_2T11aSFi
-T1::a::put(int) static
-T1::a::put
-#
---format=arm --no-params
-put__Q4_2T11a1b1cSFi
-T1::a::b::c::put(int) static
-T1::a::b::c::put
-#
---format=arm --no-params
-get__Q3_2T11a1bSFv
-T1::a::b::get(void) static
-T1::a::b::get
-#
---format=arm --no-params
-get__2T1SFv
-T1::get(void) static
-T1::get
-#
---format=arm --no-params
-get__Q5_2T11a1b1c1dSFv
-T1::a::b::c::d::get(void) static
-T1::a::b::c::d::get
-#
---format=arm --no-params
-__dt__11T1__pt__2_cFv
-T1<char>::~T1(void)
-T1<char>::~T1
-#
---format=arm --no-params
-__dt__12T1__pt__3_1tFv
-T1<t>::~T1(void)
-T1<t>::~T1
-#
---format=arm --no-params
-__dl__12T1__pt__3_1tSFPv
-T1<t>::operator delete(void *) static
-T1<t>::operator delete
-#
---format=arm --no-params
-__ct__11T1__pt__2_cFi
-T1<char>::T1(int)
-T1<char>::T1
-#
---format=arm --no-params
-__ct__11T1__pt__2_cFv
-T1<char>::T1(void)
-T1<char>::T1
-#
---format=arm --no-params
-__ct__12T1__pt__3_1tFi
-T1<t>::T1(int)
-T1<t>::T1
-#
---format=arm --no-params
-__ct__12T1__pt__3_1tFv
-T1<t>::T1(void)
-T1<t>::T1
-#
---format=arm --no-params
-__dl__11T1__pt__2_cSFPv
-T1<char>::operator delete(void *) static
-T1<char>::operator delete
-#
---format=arm --no-params
-bar__3fooFPv
-foo::bar(void *)
-foo::bar
-#
---format=arm --no-params
-bar__3fooCFPv
-foo::bar(void *) const
-foo::bar
-#
---format=arm --no-params
-__eq__3fooFR3foo
-foo::operator==(foo &)
-foo::operator==
-#
---format=arm --no-params
-__eq__3fooCFR3foo
-foo::operator==(foo &) const
-foo::operator==
-#
---format=arm --no-params
-elem__15vector__pt__2_dFi
-vector<double>::elem(int)
-vector<double>::elem
-#
---format=arm --no-params
-elem__15vector__pt__2_iFi
-vector<int>::elem(int)
-vector<int>::elem
-#
---format=arm --no-params
-__ct__15vector__pt__2_dFi
-vector<double>::vector(int)
-vector<double>::vector
-#
---format=arm --no-params
-__ct__15vector__pt__2_iFi
-vector<int>::vector(int)
-vector<int>::vector
-#
---format=arm --no-params
-__ct__25DListNode__pt__9_R6RLabelFR6RLabelP25DListNode__pt__9_R6RLabelT2
-DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
-DListNode<RLabel &>::DListNode
-#
---format=arm --no-params
-__ct__25DListNode__pt__9_O6RLabelFO6RLabelP25DListNode__pt__9_O6RLabelT2
-DListNode<RLabel &&>::DListNode(RLabel &&, DListNode<RLabel &&> *, DListNode<RLabel &&> *)
-DListNode<RLabel &&>::DListNode
-#
---format=arm --no-params
-bar__3fooFiT16FooBar
-foo::bar(int, int, FooBar)
-foo::bar
-#
---format=arm --no-params
-bar__3fooFPiN51PdN37PcN211T1iN215
-foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
-foo::bar
-#
---format=hp --no-params
-__amd__FR2T2i
-operator%=(T2 &, int)
-operator%=
-#
---format=hp --no-params
-__adv__FR2T2i
-operator/=(T2 &, int)
-operator/=
-#
---format=hp --no-params
-__amu__FR2T2i
-operator*=(T2 &, int)
-operator*=
-#
---format=hp --no-params
-__ami__FR2T2i
-operator-=(T2 &, int)
-operator-=
-#
---format=hp --no-params
-__apl__FR2T2i
-operator+=(T2 &, int)
-operator+=
-#
---format=hp --no-params
-__nw__2T1SFUi
-T1::operator new(unsigned int) static
-T1::operator new
-#
---format=hp --no-params
-__dl__2T1SFPv
-T1::operator delete(void *) static
-T1::operator delete
-#
---format=hp --no-params
-put__2T7SFi
-T7::put(int) static
-T7::put
-#
---format=hp --no-params
-h__FUc
-h(unsigned char)
-h
-#
---format=hp --no-params
-f__Fic
-f(int, char)
-f
-#
---format=hp --no-params
-h__FUi
-h(unsigned int)
-h
-#
---format=hp --no-params
-h__Fci
-h(char, int)
-h
-#
---format=hp --no-params
-h__FUl
-h(unsigned long)
-h
-#
---format=hp --no-params
-h__Fcl
-h(char, long)
-h
-#
---format=hp --no-params
-h__FUs
-h(unsigned short)
-h
-#
---format=hp --no-params
-h__Fcs
-h(char, short)
-h
-#
---format=hp --no-params
-h__FcT1
-h(char, char)
-h
-#
---format=hp --no-params
-f__Ficd
-f(int, char, double)
-f
-#
---format=hp --no-params
-f__FicdPcPFci_v
-f(int, char, double, char *, void (*)(char, int))
-f
-#
---format=hp --no-params
-f__FicdPcPFic_v
-f(int, char, double, char *, void (*)(int, char))
-f
-#
---format=hp --no-params
-get__2T7SFv
-T7::get(void) static
-T7::get
-#
---format=hp --no-params
-h__Fc
-h(char)
-h
-#
---format=hp --no-params
-h__Fd
-h(double)
-h
-#
---format=hp --no-params
-h__Ff
-h(float)
-h
-#
---format=hp --no-params
-h__Fi
-h(int)
-h
-#
---format=hp --no-params
-f__Fi
-f(int)
-f
-#
---format=hp --no-params
-h__Fl
-h(long)
-h
-#
---format=hp --no-params
-h__Fs
-h(short)
-h
-#
---format=hp --no-params
-f__FicdPc
-f(int, char, double, char *)
-f
-#
---format=hp --no-params
-__nw__FUi
-operator new(unsigned int)
-operator new
-#
---format=hp --no-params
-__ct__Q3_2T11a1bSFi
-T1::a::b::b(int) static
-T1::a::b::b
-#
---format=hp --no-params
-__dt__Q3_2T11a1bSFi
-T1::a::b::~b(int) static
-T1::a::b::~b
-#
---format=hp --no-params
-put__Q3_2T11a1bSFi
-T1::a::b::put(int) static
-T1::a::b::put
-#
---format=hp --no-params
-get__Q2_2T11aSFv
-T1::a::get(void) static
-T1::a::get
-#
---format=hp --no-params
-put__2T1SFi
-T1::put(int) static
-T1::put
-#
---format=hp --no-params
-put__Q5_2T11a1b1c1dSFi
-T1::a::b::c::d::put(int) static
-T1::a::b::c::d::put
-#
---format=hp --no-params
-get__Q4_2T11a1b1cSFv
-T1::a::b::c::get(void) static
-T1::a::b::c::get
-#
---format=hp --no-params
-put__Q2_2T11aSFi
-T1::a::put(int) static
-T1::a::put
-#
---format=hp --no-params
-put__Q4_2T11a1b1cSFi
-T1::a::b::c::put(int) static
-T1::a::b::c::put
-#
---format=hp --no-params
-get__Q3_2T11a1bSFv
-T1::a::b::get(void) static
-T1::a::b::get
-#
---format=hp --no-params
-get__2T1SFv
-T1::get(void) static
-T1::get
-#
---format=hp --no-params
-get__Q5_2T11a1b1c1dSFv
-T1::a::b::c::d::get(void) static
-T1::a::b::c::d::get
-#
---format=hp --no-params
-bar__3fooFPv
-foo::bar(void *)
-foo::bar
-#
---format=hp --no-params
-bar__3fooCFPv
-foo::bar(void *) const
-foo::bar
-#
---format=hp --no-params
-__eq__3fooFR3foo
-foo::operator==(foo &)
-foo::operator==
-#
---format=hp --no-params
-__eq__3fooCFR3foo
-foo::operator==(foo &) const
-foo::operator==
-#
---format=hp --no-params
-bar__3fooFiT16FooBar
-foo::bar(int, int, FooBar)
-foo::bar
-#
---format=hp --no-params
-bar__3fooFPiN51PdN37PcN211T1iN215
-foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
-foo::bar
-#
---format=hp --no-params
-__dt__2T5XTPFiPPdPv_i__Fv
-T5<int (*)(int, double **, void *)>::~T5(void)
-T5<int (*)(int, double **, void *)>::~T5
-#
---format=hp --no-params
-__ct__1cFi
-c::c(int)
-c::c
-#
---format=hp --no-params
-__dt__2T5XTi__Fv
-T5<int>::~T5(void)
-T5<int>::~T5
-#
---format=hp --no-params
-__dt__2T5XTc__Fv
-T5<char>::~T5(void)
-T5<char>::~T5
-#
---format=hp --no-params
-__ct__2T2Fi
-T2::T2(int)
-T2::T2
-#
---format=hp --no-params
-__dt__2T1Fv
-T1::~T1(void)
-T1::~T1
-#
---format=hp --no-params
-__dt__2T5XT1x__Fv
-T5<x>::~T5(void)
-T5<x>::~T5
-#
---format=hp --no-params
-__dt__2T5XTPFcPv_i__Fv
-T5<int (*)(char, void *)>::~T5(void)
-T5<int (*)(char, void *)>::~T5
-#
---format=hp --no-params
-__ct__2T5XTPFiPPdPv_i__Fi
-T5<int (*)(int, double **, void *)>::T5(int)
-T5<int (*)(int, double **, void *)>::T5
-#
---format=hp --no-params
-__dl__2T5XT1x__SFPv
-T5<x>::operator delete(void *) static
-T5<x>::operator delete
-#
---format=hp --no-params
-X__2T5XT1x
-T5<x>::X
-T5<x>::X
-#
---format=hp --no-params
-__ct__2T5XTi__Fi
-T5<int>::T5(int)
-T5<int>::T5
-#
---format=hp --no-params
-__ct__2T5XTc__Fi
-T5<char>::T5(int)
-T5<char>::T5
-#
---format=hp --no-params
-__dl__2T5XTPFcPv_i__SFPv
-T5<int (*)(char, void *)>::operator delete(void *) static
-T5<int (*)(char, void *)>::operator delete
-#
---format=hp --no-params
-X__2T5XTPFcPv_i
-T5<int (*)(char, void *)>::X
-T5<int (*)(char, void *)>::X
-#
---format=hp --no-params
-__ct__2T5XT1x__Fi
-T5<x>::T5(int)
-T5<x>::T5
-#
---format=hp --no-params
-__dl__2T5XTPFiPPdPv_i__SFPv
-T5<int (*)(int, double **, void *)>::operator delete(void *) static
-T5<int (*)(int, double **, void *)>::operator delete
-#
---format=hp --no-params
-X__2T5XTPFiPPdPv_i
-T5<int (*)(int, double **, void *)>::X
-T5<int (*)(int, double **, void *)>::X
-#
---format=hp --no-params
-__dl__2T5XTi__SFPv
-T5<int>::operator delete(void *) static
-T5<int>::operator delete
-#
---format=hp --no-params
-__dl__2T5XTc__SFPv
-T5<char>::operator delete(void *) static
-T5<char>::operator delete
-#
---format=hp --no-params
-X__2T5XTc
-T5<char>::X
-T5<char>::X
-#
---format=hp --no-params
-X__2T5XTi
-T5<int>::X
-T5<int>::X
-#
---format=hp --no-params
-__ct__2T5XTPFcPv_i__Fi
-T5<int (*)(char, void *)>::T5(int)
-T5<int (*)(char, void *)>::T5
-#
---format=hp --no-params
-__dt__2T1XTc__Fv
-T1<char>::~T1(void)
-T1<char>::~T1
-#
---format=hp --no-params
-__dt__2T1XT1t__Fv
-T1<t>::~T1(void)
-T1<t>::~T1
-#
---format=hp --no-params
-__dl__2T1XT1t__SFPv
-T1<t>::operator delete(void *) static
-T1<t>::operator delete
-#
---format=hp --no-params
-__ct__2T1XTc__Fi
-T1<char>::T1(int)
-T1<char>::T1
-#
---format=hp --no-params
-__ct__2T1XTc__Fv
-T1<char>::T1(void)
-T1<char>::T1
-#
---format=hp --no-params
-__ct__2T1XT1t__Fi
-T1<t>::T1(int)
-T1<t>::T1
-#
---format=hp --no-params
-__ct__2T1XT1t__Fv
-T1<t>::T1(void)
-T1<t>::T1
-#
---format=hp --no-params
-__dl__2T1XTc__SFPv
-T1<char>::operator delete(void *) static
-T1<char>::operator delete
-#
---format=hp --no-params
-elem__6vectorXTd__Fi
-vector<double>::elem(int)
-vector<double>::elem
-#
---format=hp --no-params
-elem__6vectorXTi__Fi
-vector<int>::elem(int)
-vector<int>::elem
-#
---format=hp --no-params
-__ct__6vectorXTd__Fi
-vector<double>::vector(int)
-vector<double>::vector
-#
---format=hp --no-params
-__ct__6vectorXTi__Fi
-vector<int>::vector(int)
-vector<int>::vector
-#
---format=hp --no-params
-__ct__9DListNodeXTR6RLabel__FR6RLabelP9DListNodeXTR6RLabel_T2
-DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
-DListNode<RLabel &>::DListNode
-#
---format=hp --no-params
-__ct__9DListNodeXTO6RLabel__FO6RLabelP9DListNodeXTO6RLabel_T2
-DListNode<RLabel &&>::DListNode(RLabel &&, DListNode<RLabel &&> *, DListNode<RLabel &&> *)
-DListNode<RLabel &&>::DListNode
-#
---format=hp --no-params
-elem__6vectorXTiUP34__Fi
-vector<int,34U>::elem(int)
-vector<int,34U>::elem
-#
---format=hp --no-params
-elem__6vectorXUP2701Td__Fi
-vector<2701U,double>::elem(int)
-vector<2701U,double>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSP334__Fi
-vector<int,334>::elem(int)
-vector<int,334>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSN67__Fi
-vector<int,-67>::elem(int)
-vector<int,-67>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSM__SCFPPd
-vector<int,-2147483648>::elem(double **) static const
-vector<int,-2147483648>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSN67UP4000TRs__Fi
-vector<int,-67,4000U,short &>::elem(int)
-vector<int,-67,4000U,short &>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSN67UP4000TOs__Fi
-vector<int,-67,4000U,short &&>::elem(int)
-vector<int,-67,4000U,short &&>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSN67TRdTFPv_i__Fi
-vector<int,-67,double &,int (void *)>::elem(int)
-vector<int,-67,double &,int (void *)>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSN67TOdTFPv_i__Fi
-vector<int,-67,double &&,int (void *)>::elem(int)
-vector<int,-67,double &&,int (void *)>::elem
-#
---format=hp --no-params
-X__6vectorXTiSN67TdTPvUP5TRs
-vector<int,-67,double,void *,5U,short &>::X
-vector<int,-67,double,void *,5U,short &>::X
-#
---format=hp --no-params
-X__6vectorXTiSN67TdTPvUP5TOs
-vector<int,-67,double,void *,5U,short &&>::X
-vector<int,-67,double,void *,5U,short &&>::X
-#
---format=hp --no-params
-elem__6vectorXTiA3foo__Fi
-vector<int,&foo>::elem(int)
-vector<int,&foo>::elem
-#
---format=hp --no-params
-elem__6vectorXTiA3fooTPvA5Label__FiPPvT2
-vector<int,&foo,void *,&Label>::elem(int, void **, void **)
-vector<int,&foo,void *,&Label>::elem
-#
---format=hp --no-params
-elem__6vectorXTiSN42A3foo__Fi
-vector<int,-42,&foo>::elem(int)
-vector<int,-42,&foo>::elem
-#
---format=hp --no-params
-__ct__2T5XTPFcPv_i__Fi_2
-T5<int (*)(char, void *)>::T5(int)
-T5<int (*)(char, void *)>::T5
-#
---format=hp --no-params
-__ct__2T5XTPFcPv_i__Fi_19
-T5<int (*)(char, void *)>::T5(int)
-T5<int (*)(char, void *)>::T5
-#
---format=hp --no-params
-f__FicdPcPFci_v_34
-f(int, char, double, char *, void (*)(char, int))
-f
-#
---format=hp --no-params
-spec__13Spec<#1,#1.*>XTiTPi_FPi
-Spec<int,int *>::spec(int *)
-Spec<int,int *>::spec
-#
---format=hp --no-params
-spec__16Spec<#1,#1.&,#1>XTiTRiTi_FPi
-Spec<int,int &,int>::spec(int *)
-Spec<int,int &,int>::spec
-#
---format=hp --no-params
-spec__17Spec<#1,#1.&&,#1>XTiTOiTi_FPi
-Spec<int,int &&,int>::spec(int *)
-Spec<int,int &&,int>::spec
-#
---format=hp --no-params
-add__XTc_FcT1
-add<char>(char, char)
-add<char>
-#
---format=hp --no-params
-add__XTcSP9A5label_FcPPlT1
-add<char,9,&label>(char, long **, char)
-add<char,9,&label>
-#
---format=hp --no-params
-add__XTPfTFPd_f_FcT1
-add<float *,float (double *)>(char, char)
-add<float *,float (double *)>
-#
---format=hp --no-params
-unLink__12basic_stringXTcT18string_char_traitsXTc_T9allocator_Fv
-basic_string<char,string_char_traits<char>,allocator>::unLink(void)
-basic_string<char,string_char_traits<char>,allocator>::unLink
-#
-# A regression test with no args. This used to cause a segv.
-
-_Utf390_1__1_9223372036854775807__9223372036854775
-_Utf390_1__1_9223372036854775807__9223372036854775
-#
---format=gnu --no-params
-call__H1Z4Test_RX01_t1C2ZX01PMX01FPX01i_vQ2X016output
-C<Test, Test::output> call<Test>(Test &)
-C<Test, Test::output> call<Test>
-#
---format=gnu --no-params
-call__H1Z4Test_OX01_t1C2ZX01PMX01FPX01i_vQ2X016output
-C<Test, Test::output> call<Test>(Test &&)
-C<Test, Test::output> call<Test>
-#
---format=gnu --no-params
-fn__FPQ21n1cPMQ21n1cFPQ21n1c_i
-fn(n::c *, int (n::c::*)(n::c *))
-fn
-#
---format=gnu --no-params
-f__FGt3Bar1i2G1i
-f(Bar<2>, i)
-f
-#
---format=gnu --no-params
-f__FGt3Bar1i21i
-f(Bar<21>, int)
-f
-#
---format=gnu --no-params
-f__FGt3Bar1i2G4XY_t
-f(Bar<2>, XY_t)
-f
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZRCiZt2NA1Ui9_X01_i
-int foo<TA<int const &, NA<9> > >(TA<int const &, NA<9> >)
-int foo<TA<int const &, NA<9> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZOCiZt2NA1Ui9_X01_i
-int foo<TA<int const &&, NA<9> > >(TA<int const &&, NA<9> >)
-int foo<TA<int const &&, NA<9> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZcZt2NA1Ui20_X01_i
-int foo<TA<char, NA<20> > >(TA<char, NA<20> >)
-int foo<TA<char, NA<20> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZiZt8N___A___1Ui99_X01_i
-int foo<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
-int foo<TA<int, N___A___<99> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZRCiZt2NA1im1_X01_i
-int foo<TA<int const &, NA<-1> > >(TA<int const &, NA<-1> >)
-int foo<TA<int const &, NA<-1> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZRCiZt2NA1im9_X01_i
-int foo<TA<int const &, NA<-9> > >(TA<int const &, NA<-9> >)
-int foo<TA<int const &, NA<-9> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZcZt2NA1i_m20__X01_i
-int foo<TA<char, NA<-20> > >(TA<char, NA<-20> >)
-int foo<TA<char, NA<-20> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZcZt2NA1im1_X01_i
-int foo<TA<char, NA<-1> > >(TA<char, NA<-1> >)
-int foo<TA<char, NA<-1> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZiZt4N__A1im9_X01_i
-int foo<TA<int, N__A<-9> > >(TA<int, N__A<-9> >)
-int foo<TA<int, N__A<-9> > >
-#
---format=gnu --no-params
-foo__H1Zt2TA2ZiZt4N__A1i_m99__X01_i
-int foo<TA<int, N__A<-99> > >(TA<int, N__A<-99> >)
-int foo<TA<int, N__A<-99> > >
-#
---format=gnu --no-params
-__opi__t2TA2ZiZt4N__A1i9
-TA<int, N__A<9> >::operator int(void)
-TA<int, N__A<9> >::operator int
-#
---format=gnu --no-params
-__opi__t2TA2ZiZt8N___A___1i_m99_
-TA<int, N___A___<-99> >::operator int(void)
-TA<int, N___A___<-99> >::operator int
-#
---format=gnu --no-params
-foo___bar__baz_____H1Zt2TA2ZiZt8N___A___1i99_X01_i
-int foo___bar__baz___<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
-int foo___bar__baz___<TA<int, N___A___<99> > >
-#
---format=gnu --no-params
-foo__bar___foobar_____t2TA2ZiZt8N___A___1i_m99_
-TA<int, N___A___<-99> >::foo__bar___foobar___(void)
-TA<int, N___A___<-99> >::foo__bar___foobar___
-#
---format=gnu --no-params
-foo__bar___foobar_____t2TA2ZiZt4N__A1i9
-TA<int, N__A<9> >::foo__bar___foobar___(void)
-TA<int, N__A<9> >::foo__bar___foobar___
-#
---format=gnu --no-params
-__tfP8sockaddr
-sockaddr * type_info function
-sockaddr * type_info function
-#
---format=gnu --no-params
-__tfPQ25libcwt16option_event_tct1Z12burst_app_ct
-libcw::option_event_tct<burst_app_ct> * type_info function
-libcw::option_event_tct<burst_app_ct> * type_info function
-#
---format=gnu --no-params
-__tiP8sockaddr
-sockaddr * type_info node
-sockaddr * type_info node
-#
---format=gnu --no-params
-__tiPQ25libcwt16option_event_tct1Z12burst_app_ct
-libcw::option_event_tct<burst_app_ct> * type_info node
-libcw::option_event_tct<burst_app_ct> * type_info node
-#
---format=gnu --no-params
-_27_GLOBAL_.N.__12burst_app_ct.app_instance
-{anonymous}::app_instance
-{anonymous}::app_instance
-#
---format=gnu --no-params
-_26_GLOBAL_$N$_tmp_n.iilg4Gya$app_instance
-{anonymous}::app_instance
-{anonymous}::app_instance
-#
---format=gnu-v3 --no-params
-_Z3fo5n
-fo5(__int128)
-fo5
-#
---format=gnu-v3 --no-params
-_Z3fo5o
-fo5(unsigned __int128)
-fo5
-#
---format=java
-_ZN4java3awt10ScrollPane7addImplEPNS0_9ComponentEPNS_4lang6ObjectEi
-java.awt.ScrollPane.addImpl(java.awt.Component, java.lang.Object, int)
-#
---format=java
-_ZN4java3awt4geom15AffineTransform9getMatrixEP6JArrayIdE
-java.awt.geom.AffineTransform.getMatrix(double[])
-#
---format=java
-_ZN23Mangle$Inner$InnerInner3fooEP6JArrayIPS0_IiEEdPS0_IPS0_IPS0_IPS0_IPN4java4lang6StringEEEEEPS0_IPS0_IPN6MangleEEE
-Mangle$Inner$InnerInner.foo(int[][], double, java.lang.String[][][][], Mangle[][])
-#
---format=java
-_ZN6JArray1tEP6JArrayIPS_E
-JArray.t(JArray[])
-#
---format=java
-_ZN4Prim1iEibcdfwPN4java4lang6StringEsx
-Prim.i(int, boolean, byte, double, float, char, java.lang.String, short, long)
-#
---format=java
-_ZN4java4util14Map__U24_Entry11class__U24_E
-java.util.Map$Entry.class$
-#
---format=java
-_ZN3org7eclipse3cdt5debug8internal4core5model9CVariable6sizeof$Ev
-org.eclipse.cdt.debug.internal.core.model.CVariable.sizeof()
-#
---format=hp --no-params
-_Utf58_0_1__1_2147483647__2147483648
-_Utf58_0_1__1_2147483647__2147483648
-_Utf58_0_1__1_2147483647__2147483648
-#
---format=gnu-v3 --no-params
-St9bad_alloc
-std::bad_alloc
-std::bad_alloc
-#
---format=gnu-v3 --no-params
-_ZN1f1fE
-f::f
-f::f
-#
---format=gnu-v3 --no-params
-_Z1fv
-f()
-f
-#
---format=gnu-v3 --no-params
-_Z1fi
-f(int)
-f
-#
---format=gnu-v3 --no-params
-_Z3foo3bar
-foo(bar)
-foo
-#
---format=gnu-v3 --no-params
-_Zrm1XS_
-operator%(X, X)
-operator%
-#
---format=gnu-v3 --no-params
-_ZplR1XS0_
-operator+(X&, X&)
-operator+
-#
---format=gnu-v3 --no-params
-_ZlsRK1XS1_
-operator<<(X const&, X const&)
-operator<<
-#
---format=gnu-v3 --no-params
-_ZN3FooIA4_iE3barE
-Foo<int [4]>::bar
-Foo<int [4]>::bar
-#
---format=gnu-v3 --no-params
-_Z1fIiEvi
-void f<int>(int)
-f<int>
-#
---format=gnu-v3 --no-params
-_Z5firstI3DuoEvS0_
-void first<Duo>(Duo)
-first<Duo>
-#
---format=gnu-v3 --no-params
-_Z5firstI3DuoEvT_
-void first<Duo>(Duo)
-first<Duo>
-#
---format=gnu-v3 --no-params
-_Z3fooIiFvdEiEvv
-void foo<int, void (double), int>()
-foo<int, void (double), int>
-#
---format=gnu-v3 --no-params
-_Z1fIFvvEEvv
-void f<void ()>()
-f<void ()>
-#
---format=gnu-v3 --no-params
-_ZN1N1fE
-N::f
-N::f
-#
---format=gnu-v3 --no-params
-_ZN6System5Sound4beepEv
-System::Sound::beep()
-System::Sound::beep
-#
---format=gnu-v3 --no-params
-_ZN5Arena5levelE
-Arena::level
-Arena::level
-#
---format=gnu-v3 --no-params
-_ZN5StackIiiE5levelE
-Stack<int, int>::level
-Stack<int, int>::level
-#
---format=gnu-v3 --no-params
-_Z1fI1XEvPVN1AIT_E1TE
-void f<X>(A<X>::T volatile*)
-f<X>
-#
---format=gnu-v3 --no-params
-_ZngILi42EEvN1AIXplT_Li2EEE1TE
-void operator-<42>(A<(42)+(2)>::T)
-operator-<42>
-#
---format=gnu-v3 --no-params
-_Z4makeI7FactoryiET_IT0_Ev
-Factory<int> make<Factory, int>()
-make<Factory, int>
-#
---format=gnu-v3 --no-params
-_Z4makeI7FactoryiET_IT0_Ev
-Factory<int> make<Factory, int>()
-make<Factory, int>
-#
---format=gnu-v3 --no-params
-_Z3foo5Hello5WorldS0_S_
-foo(Hello, World, World, Hello)
-foo
-#
---format=gnu-v3 --no-params
-_Z3fooPM2ABi
-foo(int AB::**)
-foo
-#
---format=gnu-v3 --no-params
-_ZlsRSoRKSs
-operator<<(std::ostream&, std::string const&)
-operator<<
-#
---format=gnu-v3 --no-params
-_ZTI7a_class
-typeinfo for a_class
-typeinfo for a_class
-#
---format=gnu-v3 --no-params
-U4_farrVKPi
-int* const volatile restrict _far
-int* const volatile restrict _far
-#
---format=gnu-v3 --no-params
-_Z3fooILi2EEvRAplT_Li1E_i
-void foo<2>(int (&) [(2)+(1)])
-foo<2>
-#
---format=gnu-v3 --no-params
-_Z3fooILi2EEvOAplT_Li1E_i
-void foo<2>(int (&&) [(2)+(1)])
-foo<2>
-#
---format=gnu-v3 --no-params
-_Z1fM1AKFvvE
-f(void (A::*)() const)
-f
-#
---format=gnu-v3 --no-params
-_Z3fooc
-foo(char)
-foo
-#
---format=gnu-v3 --no-params
-_Z2f0u8char16_t
-f0(char16_t)
-f0
-#
---format=gnu-v3 --no-params
-_Z2f0Pu8char16_t
-f0(char16_t*)
-f0
-#
---format=gnu-v3 --no-params
-_Z2f0u8char32_t
-f0(char32_t)
-f0
-#
---format=gnu-v3 --no-params
-_Z2f0Pu8char32_t
-f0(char32_t*)
-f0
-#
---format=gnu-v3 --no-params
-2CBIL_Z3foocEE
-CB<foo(char)>
-CB<foo(char)>
-#
---format=gnu-v3 --no-params
-2CBIL_Z7IsEmptyEE
-CB<IsEmpty>
-CB<IsEmpty>
-#
---format=gnu-v3 --no-params
-_ZZN1N1fEiE1p
-N::f(int)::p
-N::f(int)::p
-#
---format=gnu-v3 --no-params
-_ZZN1N1fEiEs
-N::f(int)::string literal
-N::f(int)::string literal
-#
---format=gnu-v3 --no-params
-_Z1fPFvvEM1SFvvE
-f(void (*)(), void (S::*)())
-f
-#
---format=gnu-v3 --no-params
-_ZN1N1TIiiE2mfES0_IddE
-N::T<int, int>::mf(N::T<double, double>)
-N::T<int, int>::mf
-#
---format=gnu-v3 --no-params
-_ZSt5state
-std::state
-std::state
-#
---format=gnu-v3 --no-params
-_ZNSt3_In4wardE
-std::_In::ward
-std::_In::ward
-#
---format=gnu-v3 --no-params
-_Z1fKPFiiE
-f(int (* const)(int))
-f
-#
---format=gnu-v3 --no-params
-_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i
-f(int [sizeof (N::A::f() const::foo)])
-f
-#
---format=gnu-v3 --no-params
-_Z1fA37_iPS_
-f(int [37], int (*) [37])
-f
-#
---format=gnu-v3 --no-params
-_Z1fM1AFivEPS0_
-f(int (A::*)(), int (*)())
-f
-#
---format=gnu-v3 --no-params
-_Z1fPFPA1_ivE
-f(int (*(*)()) [1])
-f
-#
---format=gnu-v3 --no-params
-_Z1fPKM1AFivE
-f(int (A::* const*)())
-f
-#
---format=gnu-v3 --no-params
-_Z1jM1AFivEPS1_
-j(int (A::*)(), int (A::**)())
-j
-#
---format=gnu-v3 --no-params
-_Z1sPA37_iPS0_
-s(int (*) [37], int (**) [37])
-s
-#
---format=gnu-v3 --no-params
-_Z3fooA30_A_i
-foo(int [30][])
-foo
-#
---format=gnu-v3 --no-params
-_Z3kooPA28_A30_i
-koo(int (*) [28][30])
-koo
-#
---format=gnu-v3 --no-params
-_ZlsRKU3fooU4bart1XS0_
-operator<<(X bart foo const&, X bart)
-operator<<
-#
---format=gnu-v3 --no-params
-_ZlsRKU3fooU4bart1XS2_
-operator<<(X bart foo const&, X bart foo const)
-operator<<
-#
---format=gnu-v3 --no-params
-_Z1fM1AKFivE
-f(int (A::*)() const)
-f
-#
---format=gnu-v3 --no-params
-_Z3absILi11EEvv
-void abs<11>()
-abs<11>
-#
---format=gnu-v3 --no-params
-_ZN1AIfEcvT_IiEEv
-A<float>::operator int<int>()
-A<float>::operator int<int>
-#
---format=gnu-v3 --no-params
-_ZN12libcw_app_ct10add_optionIS_EEvMT_FvPKcES3_cS3_S3_
-void libcw_app_ct::add_option<libcw_app_ct>(void (libcw_app_ct::*)(char const*), char const*, char, char const*, char const*)
-libcw_app_ct::add_option<libcw_app_ct>
-#
---format=gnu-v3 --no-params
-_ZGVN5libcw24_GLOBAL__N_cbll.cc0ZhUKa23compiler_bug_workaroundISt6vectorINS_13omanip_id_tctINS_5debug32memblk_types_manipulator_data_ctEEESaIS6_EEE3idsE
-guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
-guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
-#
---format=gnu-v3 --no-params
-_ZN5libcw5debug13cwprint_usingINS_9_private_12GlobalObjectEEENS0_17cwprint_using_tctIT_EERKS5_MS5_KFvRSt7ostreamE
-libcw::debug::cwprint_using_tct<libcw::_private_::GlobalObject> libcw::debug::cwprint_using<libcw::_private_::GlobalObject>(libcw::_private_::GlobalObject const&, void (libcw::_private_::GlobalObject::*)(std::ostream&) const)
-libcw::debug::cwprint_using<libcw::_private_::GlobalObject>
-#
---format=gnu-v3 --no-params
-_ZNKSt14priority_queueIP27timer_event_request_base_ctSt5dequeIS1_SaIS1_EE13timer_greaterE3topEv
-std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top() const
-std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top
-#
---format=gnu-v3 --no-params
-_ZNKSt15_Deque_iteratorIP15memory_block_stRKS1_PS2_EeqERKS5_
-std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==(std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*> const&) const
-std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==
-#
---format=gnu-v3 --no-params
-_ZNKSt17__normal_iteratorIPK6optionSt6vectorIS0_SaIS0_EEEmiERKS6_
-std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-(std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > > const&) const
-std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-
-#
---format=gnu-v3 --no-params
-_ZNSbIcSt11char_traitsIcEN5libcw5debug27no_alloc_checking_allocatorEE12_S_constructIPcEES6_T_S7_RKS3_
-char* std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>(char*, char*, libcw::debug::no_alloc_checking_allocator const&)
-std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>
-#
---format=gnu-v3 --no-params
-_Z1fI1APS0_PKS0_EvT_T0_T1_PA4_S3_M1CS8_
-void f<A, A*, A const*>(A, A*, A const*, A const* (*) [4], A const* (* C::*) [4])
-f<A, A*, A const*>
-#
---format=gnu-v3 --no-params
-_Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_
-foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)
-foo
-#
---format=gnu-v3 --no-params
-_ZSt1BISt1DIP1ARKS2_PS3_ES0_IS2_RS2_PS2_ES2_ET0_T_SB_SA_PT1_
-std::D<A*, A*&, A**> std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>(std::D<A*, A* const&, A* const*>, std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A**)
-std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>
-#
---format=gnu-v3 --no-params
-_X11TransParseAddress
-_X11TransParseAddress
-_X11TransParseAddress
-#
---format=gnu-v3 --no-params
-_ZNSt13_Alloc_traitsISbIcSt18string_char_traitsIcEN5libcw5debug9_private_17allocator_adaptorIcSt24__default_alloc_templateILb0ELi327664EELb1EEEENS5_IS9_S7_Lb1EEEE15_S_instancelessE
-std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
-std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
-#
---format=gnu-v3 --no-params
-_GLOBAL__I__Z2fnv
-global constructors keyed to fn()
-global constructors keyed to fn()
-#
---format=gnu-v3 --no-params
-_Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3_
-r(int (G::*)(), int (G::*)() const, G, int (H::*)(), int (G::*)(), what<G const>, what2<G const>, int (G::*)() const)
-r
-#
-# This is from the gdb testsuite gdb.cp/cplusfuncs.exp.
---format=gnu-v3 --no-params
-_Z10hairyfunc5PFPFilEPcE
-hairyfunc5(int (*(*)(char*))(long))
-hairyfunc5
-#
-# This is from gcc PR 8861
---format=gnu-v3 --no-params
-_Z1fILi1ELc120EEv1AIXplT_cviLd810000000000000000703DAD7A370C5EEE
-void f<1, (char)120>(A<(1)+((int)((double)[810000000000000000703DAD7A370C5]))>)
-f<1, (char)120>
-#
-# This is also from gcc PR 8861
---format=gnu-v3 --no-params
-_Z1fILi1EEv1AIXplT_cvingLf3f800000EEE
-void f<1>(A<(1)+((int)(-((float)[3f800000])))>)
-f<1>
-#
-# This is from a libstdc++ debug mode patch.
---format=gnu-v3 --no-params
-_ZNK11__gnu_debug16_Error_formatter14_M_format_wordImEEvPciPKcT_
-void __gnu_debug::_Error_formatter::_M_format_word<unsigned long>(char*, int, char const*, unsigned long) const
-__gnu_debug::_Error_formatter::_M_format_word<unsigned long>
-#
-# The new demangler used to core dump on this.
---format=gnu-v3 --no-params
-_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSt4pairISsPFbP6sqlitePPcEESt6vectorIS9_SaIS9_EEEESE_ET0_T_SG_SF_
-__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >(__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >)
-std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >
-#
-# The new demangler used to fail on this.
---format=gnu-v3 --no-params
-_Z1fP1cIPFiiEE
-f(c<int (*)(int)>*)
-f
-#
-# Wrap expressions using '>' in an extra layer of parens to avoid
-# confusion with the '>' which ends the template parameters.
---format=gnu-v3 --no-params
-_Z4dep9ILi3EEvP3fooIXgtT_Li2EEE
-void dep9<3>(foo<((3)>(2))>*)
-dep9<3>
-#
-# Watch out for templated version of `operator<'--it needs an extra
-# space.
---format=gnu-v3 --no-params
-_ZStltI9file_pathSsEbRKSt4pairIT_T0_ES6_
-bool std::operator< <file_path, std::string>(std::pair<file_path, std::string> const&, std::pair<file_path, std::string> const&)
-std::operator< <file_path, std::string>
-#
-# More hairy qualifier handling.
---format=gnu-v3 --no-params
-_Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE
-hairyfunc(int (* const (X::** (* restrict (* volatile* (Y::*)(int) const)(char*)) [2])(long) const) [3])
-hairyfunc
-#
-# Check that negative numbers are handled correctly.
---format=gnu-v3 --no-params
-_Z1fILin1EEvv
-void f<-1>()
-f<-1>
-#
-# Check a destructor of a standard substitution.
---format=gnu-v3 --no-params
-_ZNSdD0Ev
-std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()
-std::basic_iostream<char, std::char_traits<char> >::~basic_iostream
-#
-# Another case where we got member function qualifiers wrong.
---format=gnu-v3 --no-params
-_ZNK15nsBaseHashtableI15nsUint32HashKey8nsCOMPtrI4IFooEPS2_E13EnumerateReadEPF15PLDHashOperatorRKjS4_PvES9_
-nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead(PLDHashOperator (*)(unsigned int const&, IFoo*, void*), void*) const
-nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead
-#
-# Another member function qualifier test case, when the member function
-# returns a pointer to function.
---format=gnu-v3 --no-params
-_ZNK1C1fIiEEPFivEv
-int (*C::f<int>() const)()
-C::f<int>
-#
-# Another case where we got member function qualifiers wrong.
---format=gnu-v3 --no-params
-_ZZ3BBdI3FooEvvENK3Fob3FabEv
-void BBd<Foo>()::Fob::Fab() const
-void BBd<Foo>()::Fob::Fab
-#
-# The same idea one level deeper.
---format=gnu-v3 --no-params
-_ZZZ3BBdI3FooEvvENK3Fob3FabEvENK3Gob3GabEv
-void BBd<Foo>()::Fob::Fab() const::Gob::Gab() const
-void BBd<Foo>()::Fob::Fab() const::Gob::Gab
-#
-# Yet another member function qualifier problem.
---format=gnu-v3 --no-params
-_ZNK5boost6spirit5matchI13rcs_deltatextEcvMNS0_4impl5dummyEFvvEEv
-boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()() const
-boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()
-#
-# Multi-dimensional arrays with qualifiers on the inner dimensions.
---format=gnu-v3 --no-params
-_Z3fooIA6_KiEvA9_KT_rVPrS4_
-void foo<int const [6]>(int const [9][6], int restrict const (* volatile restrict) [9][6])
-foo<int const [6]>
-#
-# From PR libstdc++/12736
---format=gnu-v3 --no-params
-_Z3fooIA3_iEvRKT_
-void foo<int [3]>(int const (&) [3])
-foo<int [3]>
-#
-# Related to PR libstdc++/12736
---format=gnu-v3 --no-params
-_Z3fooIPA3_iEvRKT_
-void foo<int (*) [3]>(int (* const&) [3])
-foo<int (*) [3]>
-#
-# This used to crash the demangler--PR 16240
---format=gnu-v3 --no-params
-_ZN13PatternDriver23StringScalarDeleteValueC1ERKNS_25ConflateStringScalarValueERKNS_25AbstractStringScalarValueERKNS_12TemplateEnumINS_12pdcomplementELZNS_16complement_namesEELZNS_14COMPLEMENTENUMEEEE
-PatternDriver::StringScalarDeleteValue::StringScalarDeleteValue(PatternDriver::ConflateStringScalarValue const&, PatternDriver::AbstractStringScalarValue const&, PatternDriver::TemplateEnum<PatternDriver::pdcomplement, PatternDriver::complement_names, PatternDriver::COMPLEMENTENUM> const&)
-PatternDriver::StringScalarDeleteValue::StringScalarDeleteValue
-#
-# This used to cause the demangler to walk into undefined memory--PR 22268
---format=gnu-v3 --no-params
-ALsetchannels
-ALsetchannels
-ALsetchannels
-# Test GNU V3 constructor and destructor identification.
-# 0 means it is not a constructor/destructor.
-# Other integers correspond to enum gnu_v3_{c,d}tor_kinds in demangle.h.
---is-v3-ctor
-_GLOBAL__I__Z2fnv
-0
-#
---is-v3-dtor
-_GLOBAL__I__Z2fnv
-0
-#
---is-v3-ctor
-_ZNSdC1Ev
-1
-#
---is-v3-dtor
-_ZNSdC1Ev
-0
-#
---is-v3-ctor
-_ZNSdD0Ev
-0
-#
---is-v3-dtor
-_ZNSdD0Ev
-1
-#
---is-v3-ctor
-_ZNSdC2Ev
-2
-#
---is-v3-dtor
-_ZNSdC2Ev
-0
-#
---is-v3-ctor
-_ZNSdD1Ev
-0
-#
---is-v3-dtor
-_ZNSdD1Ev
-2
-#
-# This caused an infinite loop.
-#
-# This is generated by an EDG compiler (kcc 4.0). To demangle it
-# correctly, I believe that we have to understand that the J37J deep
-# in the string somehow refers back to the type starting 37 characters
-# in from some starting point, so that it winds up being the type
-# starting with 41THandle.... However, lacking a spec for EDG
-# demangling, it's hard to implement this.
-#
-# In the meantime, this symbol can be successfully demangled in GNU
-# mode. Of course the result is more or less nonsense, but an older
-# version of g++ would indeed generate this mangled name given the
-# appropriate input, so the demangling is correct.
---format=auto --no-params
-__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm__7_Z1ZZ2Z8iterator
-_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm(iterator)
-_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm
-#
-# This used to cause a crash. It doesn't follow the C++ encoding so
-# the demangled name should be identical to the original symbol name.
---format=auto --no-params
-_test_array__L_1__B23b___clean.6
-_test_array__L_1__B23b___clean.6
-_test_array__L_1__B23b___clean.6
-#
---format=java
-_ZGAN4java4lang5Class7forNameEPNS0_6StringE
-hidden alias for java.lang.Class.forName(java.lang.String)
-#
-# Test cases to verify encoding that determines if a return type is present
-# Related to PR9861
---format=java
-_ZN4java4lang4Math4acosEJdd
-java.lang.Math.acos(double)double
-#
---format=auto
-_ZN4java4lang4Math4acosEJdd
-double java::lang::Math::acos(double)
-#
---format=auto
-_ZN4java4lang4Math4acosEJvd
-void java::lang::Math::acos(double)
-#
---format=auto --ret-postfix
-_ZN4java4lang4Math4acosEJdd
-java::lang::Math::acos(double)double
-#
---format=gnu-v3 --no-params --ret-postfix
-_Z4makeI7FactoryiET_IT0_Ev
-make<Factory, int>()Factory<int>
-make<Factory, int>
-#
-# From PR 28797
---format=auto --no-params
-_Z1fM1AKiPKS1_
-f(int const A::*, int const A::* const*)
-f
-# This used to cause a core dump in the demangler -- PR 29176
---format=auto --no-params
-SASDASDFASDF_sdfsdf
-SASDASDFASDF_sdfsdf
-SASDASDFASDF_sdfsdf
-# These are all cases of invalid manglings where the demangler would read
-# past the end of the string.
-# d_name wasn't honouring a NULL from d_substitution
---format=gnu-v3
-_ZSA
-_ZSA
-# d_expr_primary wasn't honouring NULL from cplus_demangle_mangled_name
---format=gnu-v3
-_ZN1fIL_
-_ZN1fIL_
-# d_operator_name was taking two characters in a row
---format=gnu-v3
-_Za
-_Za
-# d_prefix wasn't honouring NULL from d_substitution
---format=gnu-v3
-_ZNSA
-_ZNSA
-# d_prefix wasn't honouring NULL from d_template_param
---format=gnu-v3
-_ZNT
-_ZNT
-# Dereferencing NULL in d_pointer_to_member_type
---format=gnu-v3
-_Z1aMark
-_Z1aMark
-# <local-source-name> test 1
---format=gnu-v3
-_ZL3foo_2
-foo
-# <local-source-name> test 2
---format=gnu-v3
-_ZZL3foo_2vE4var1
-foo()::var1
-# <local-source-name> test 3
---format=gnu-v3
-_ZZL3foo_2vE4var1_0
-foo()::var1
-# <local-source-name> test 4
---format=gnu-v3
-_ZZN7myspaceL3foo_1EvEN11localstruct1fEZNS_3fooEvE16otherlocalstruct
-myspace::foo()::localstruct::f(myspace::foo()::otherlocalstruct)
-# Java resource name
---format=gnu-v3
-_ZGr32_java$Sutil$Siso4217$_properties
-java resource java/util/iso4217.properties
-# decltype/param placeholder test
---format=gnu-v3
-_Z3addIidEDTplfp_fp0_ET_T0_
-decltype ({parm#1}+{parm#2}) add<int, double>(int, double)
-# decltype scope test
---format=gnu-v3
-_Z1fI1SENDtfp_E4typeET_
-decltype ({parm#1})::type f<S>(S)
-# decltype/fn call test
---format=gnu-v3
-_Z4add3IidEDTclL_Z1gEfp_fp0_EET_T0_
-decltype (g({parm#1}, {parm#2})) add3<int, double>(int, double)
-# 'this' test
---format=gnu-v3
-_ZN1A1fIiEEDTcldtdtdefpT1b1fIT_EEEv
-decltype ((((*this).b).(f<int>))()) A::f<int>()
-# new (2008) built in types test
---format=gnu-v3
-_Z1fDfDdDeDhDsDi
-f(decimal32, decimal64, decimal128, half, char16_t, char32_t)
-# pack expansion test
---format=gnu-v3
-_Z1fIIPiPfPdEEvDpT_
-void f<int*, float*, double*>(int*, float*, double*)
-# '.' test
---format=gnu-v3
-_Z1hI1AIiEdEDTcldtfp_1gIT0_EEET_S2_
-decltype (({parm#1}.(g<double>))()) h<A<int>, double>(A<int>, double)
-# test for typed function in decltype
---format=gnu-v3
-_ZN1AIiE1jIiEEDTplfp_clL_Z1xvEEET_
-decltype ({parm#1}+(x())) A<int>::j<int>(int)
-# typed function in decltype with an argument list
---format=gnu-v3
-_Z1tIlEDTplcvT_Li5EclL_Z1qsELi6EEEv
-decltype (((long)(5))+(q(6))) t<long>()
-# test for expansion of function parameter pack
---format=gnu-v3
-_Z1gIJidEEDTclL_Z1fEspplfp_Li1EEEDpT_
-decltype (f(({parm#1}+(1))...)) g<int, double>(int, double)
-# lambda tests
---format=gnu-v3
-_ZZ1giENKUlvE_clEv
-g(int)::{lambda()#1}::operator()() const
---format=gnu-v3
-_Z4algoIZ1giEUlvE0_EiT_
-int algo<g(int)::{lambda()#2}>(g(int)::{lambda()#2})
---format=gnu-v3
-_ZZN1S1fEiiEd0_NKUlvE0_clEv
-S::f(int, int)::{default arg#2}::{lambda()#2}::operator()() const
---format=gnu-v3
-_ZNK1SIiE1xMUlvE1_clEv
-S<int>::x::{lambda()#3}::operator()() const
---format=gnu-v3
-_ZN8functionC1IZN1CIiE4testES_Ed_UliE_EET_
-function::function<C<int>::test(function)::{default arg#1}::{lambda(int)#1}>(C<int>::test(function)::{default arg#1}::{lambda(int)#1})
---format=gnu-v3
-_Z1fN1SUt_E
-f(S::{unnamed type#1})
---format=gnu-v3
-_Z1fDv32_f
-f(float __vector(32))
---format=gnu-v3
-_Z1fIfLi4EEvDv_T0__T_
-void f<float, 4>(float __vector(4))
---format=gnu-v3
-_Z1fI1AEDTclonplfp_fp_EET_
-decltype ((operator+)({parm#1}, {parm#1})) f<A>(A)
---format=gnu-v3
-_Z1hI1AEDTcldtfp_miEET_
-decltype (({parm#1}.(operator-))()) h<A>(A)
---format=gnu-v3
-_Z1fDn
-f(decltype(nullptr))
---format=gnu-v3
-_Z1fIRiEvOT_b
-void f<int&>(int&, bool)
---format=gnu-v3
-_ZN5aaaaa6bbbbbb5cccccIN23ddddddddddddddddddddddd3eeeENS2_4ffff16ggggggggggggggggENS0_9hhhhhhhhhES6_S6_S6_S6_S6_S6_S6_EE
-aaaaa::bbbbbb::ccccc<ddddddddddddddddddddddd::eee, ddddddddddddddddddddddd::ffff::gggggggggggggggg, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh, aaaaa::bbbbbb::hhhhhhhhh>
---format=gnu-v3
-_Z5outerIsEcPFilE
-char outer<short>(int (*)(long))
---format=gnu-v3
-_Z5outerPFsiEl
-outer(short (*)(int), long)
---format=gnu-v3
-_Z6outer2IsEPFilES1_
-int (*outer2<short>(int (*)(long)))(long)
---format=gnu-v3 --ret-postfix
-_Z5outerIsEcPFilE
-outer<short>(int (*)(long))char
---format=gnu-v3 --ret-postfix
-_Z5outerPFsiEl
-outer(short (*)(int), long)
---format=gnu-v3 --ret-postfix
-_Z6outer2IsEPFilES1_
-outer2<short>(int (*)(long))int (*)(long)
---format=gnu-v3 --ret-drop
-_Z5outerIsEcPFilE
-outer<short>(int (*)(long))
---format=gnu-v3 --ret-drop
-_Z5outerPFsiEl
-outer(short (*)(int), long)
---format=gnu-v3 --ret-drop
-_Z6outer2IsEPFilES1_
-outer2<short>(int (*)(long))
-#
---format=gnu-v3 --no-params
-_ZN1KIXadL_ZN1S1mEiEEE1fEv
-K<&S::m>::f()
-K<&S::m>::f
---format=gnu-v3
-_ZN1KILi1EXadL_ZN1S1mEiEEE1fEv
-K<1, &S::m>::f()
-# Here the `(int)' argument list of `S::m' is already removed.
---format=gnu-v3
-_ZN1KILi1EXadL_ZN1S1mEEEE1fEv
-K<1, &S::m>::f()
-#
-# Used to crash -- binutils PR 13030.
---format=gnu-v3
-_ZSt10_ConstructI10CellBorderIS0_EEvPT_DpOT0_
-_ZSt10_ConstructI10CellBorderIS0_EEvPT_DpOT0_
-# A pack expansion is substitutable.
---format=gnu-v3
-_Z1fIJiEiEv1AIJDpT_EET0_S4_
-void f<int, int>(A<int>, int, int)
-# So is decltype.
---format=gnu-v3
-_Z1fIiiEDTcvT__EET0_S2_
-decltype ((int)()) f<int, int>(int, int)
-# And vector.
---format=gnu-v3
-_Z1fDv4_iS_
-f(int __vector(4), int __vector(4))
---format=gnu-v3
-_Z2f1Ii1AEDTdsfp_fp0_ET0_MS2_T_
-decltype ({parm#1}.*{parm#2}) f1<int, A>(A, int A::*)
---format=gnu-v3
-_Z2f2IiEDTquL_Z1bEfp_trET_
-decltype (b?{parm#1} : (throw)) f2<int>(int)
---format=gnu-v3
-_Z6check1IiEvP6helperIXsznw_T_EEE
-void check1<int>(helper<sizeof (new int)>*)
---format=gnu-v3
-_Z6check2IiEvP6helperIXszgsnw_T_piEEE
-void check2<int>(helper<sizeof (::new int())>*)
---format=gnu-v3
-_Z6check3IiEvP6helperIXsznwadL_Z1iE_T_piLi1EEEE
-void check3<int>(helper<sizeof (new (&i) int(1))>*)
---format=gnu-v3
-_Z6check4IiEvP6helperIXszna_A1_T_EEE
-void check4<int>(helper<sizeof (new int [1])>*)
---format=gnu-v3
-_Z6check5IiEvP6helperIXszna_A1_T_piEEE
-void check5<int>(helper<sizeof (new int [1]())>*)
---format=gnu-v3
-_Z1fIiEDTcmgsdlfp_psfp_EPT_
-decltype ((::delete {parm#1}),(+{parm#1})) f<int>(int*)
---format=gnu-v3
-_Z1fIiEDTcmdafp_psfp_EPT_
-decltype ((delete[] {parm#1}),(+{parm#1})) f<int>(int*)
---format=gnu-v3
-_ZN1AdlEPv
-A::operator delete(void*)
---format=gnu-v3
-_Z2f1IiEDTppfp_ET_
-decltype ({parm#1}++) f1<int>(int)
---format=gnu-v3
-_Z2f1IiEDTpp_fp_ET_
-decltype (++{parm#1}) f1<int>(int)
---format=gnu-v3
-_Z2f1IiEDTcl1gfp_ilEEET_
-decltype (g({parm#1}, {})) f1<int>(int)
---format=gnu-v3
-_Z2f1IiEDTnw_T_ilEES0_
-decltype (new int{}) f1<int>(int)
---format=gnu-v3
-_Zli2_wPKc
-operator"" _w(char const*)
---format=gnu-v3
-_Z1fIiEDTnw_Dapifp_EET_
-decltype (new auto({parm#1})) f<int>(int)
---format=gnu-v3
-_Z1fIiERDaRKT_S1_
-auto& f<int>(int const&, int)
---format=gnu-v3
-_Z1gILi1EEvR1AIXT_EER1BIXscbT_EE
-void g<1>(A<1>&, B<static_cast<bool>(1)>&)
---format=gnu-v3
-_ZNKSt7complexIiE4realB5cxx11Ev
-std::complex<int>::real[abi:cxx11]() const
-#
-# Some more crashes revealed by fuzz-testing:
-# Check for NULL pointer when demangling trinary operators
---format=gnu-v3
-_Z1fAv32_f
-_Z1fAv32_f
-# Do not overflow when decoding identifier length
---format=gnu-v3
-_Z11111111111
-_Z11111111111
-# Check out-of-bounds access when decoding braced initializer list
---format=gnu-v3
-_ZDTtl
-_ZDTtl
-# Check for NULL pointer when demangling DEMANGLE_COMPONENT_LOCAL_NAME
---format=gnu-v3
-_ZZN1fEEd_lEv
-_ZZN1fEEd_lEv
-# Handle DEMANGLE_COMPONENT_FIXED_TYPE in d_find_pack
---format=gnu-v3
-_Z1fDpDFT_
-_Z1fDpDFT_
-# Likewise, DEMANGLE_COMPONENT_DEFAULT_ARG
---format=gnu-v3
-_Z1fIDpZ1fEd_E
-_Z1fIDpZ1fEd_E
-# Likewise, DEMANGLE_COMPONENT_NUMBER
---format=gnu-v3
-_Z1fDpDv1_c
-f((char __vector(1))...)
-#
-# Ada (GNAT) tests.
-#
-# Simple test.
---format=gnat
-yz__qrs
-yz.qrs
-# Operator
---format=gnat
-oper__Oadd
-oper."+"
-# Overloaded subprogram.
---format=gnat
-yz__qrs__2
-yz.qrs
-# Nested subprogram.
---format=gnat
-yz__qrs__tuv.1661
-yz.qrs.tuv
-# Nested and overloaded subprograms.
---format=gnat
-yz__qrs__tuv__2_1.1667
-yz.qrs.tuv
---format=gnat
-yz__qrs__tuv__2_2.1670
-yz.qrs.tuv
---format=gnat
-yz__qrs__tuv__2_3.1674
-yz.qrs.tuv
-# Elaborated flag (not demangled)
---format=gnat
-x_E
-<x_E>
-# Nested package
---format=gnat
-x__m1
-x.m1
---format=gnat
-x__m3
-x.m3
---format=gnat
-x__y__m2X
-x.y.m2
---format=gnat
-x__y__z__rXb
-x.y.z.r
-# Child package
---format=gnat
-x__y__j
-x.y.j
-# Library level
---format=gnat
-_ada_x__m3
-x.m3
-# Package body elaborator
---format=gnat
-p___elabb
-p'Elab_Body
-# Package spec elaborator
---format=gnat
-p___elabs
-p'Elab_Spec
-# Task body
---format=gnat
-p__taskobjTKB
-p.taskobj
-# Task subprogram
---format=gnat
-p__taskobjTK__f1.2330
-p.taskobj.f1
-# Protected types subprograms
---format=gnat
-prot__lock__getN
-prot.lock.get
---format=gnat
-prot__lock__getP
-prot.lock.get
---format=gnat
-prot__lock__get__sub.2590
-prot.lock.get.sub
---format=gnat
-prot__lock__setN
-prot.lock.set
---format=gnat
-prot__lock__setP
-prot.lock.set
-# Protected type entries
---format=gnat
-prot__lock__update_B7s
-prot.lock.update
---format=gnat
-prot__lock__update_E6s
-prot.lock.update
-# Controlled types
---format=gnat
-gnat__sockets__sockets_library_controllerDF__2
-gnat.sockets.sockets_library_controller.Finalize
---format=gnat
-system__partition_interface__racw_stub_typeDA
-system.partition_interface.racw_stub_type.Adjust
-# Stream operations
---format=gnat
-gnat__wide_wide_string_split__slice_setSR__2
-gnat.wide_wide_string_split.slice_set'Read
---format=gnat
-ada__real_time__timing_events__events__listSW__2Xnn
-ada.real_time.timing_events.events.list'Write
---format=gnat
-system__finalization_root__root_controlledSI
-system.finalization_root.root_controlled'Input
---format=gnat
-ada__finalization__limited_controlledSO__2
-ada.finalization.limited_controlled'Output
-# Tagged types
---format=gnat
-ada__synchronous_task_control___size__2
-ada.synchronous_task_control'Size
---format=gnat
-ada__real_time__timing_events__events___alignment__2Xnn
-ada.real_time.timing_events.events'Alignment
---format=gnat
-system__finalization_root___assign__2
-system.finalization_root.":="
-#
-# Used to crash the demangler.
---format=gnu-v3
-DFA
-DFA
-#
-# http://sourceware.org/bugzilla/show_bug.cgi?id=11572
---format=auto
-_ZN3Psi7VariantIIcPKcEE5visitIIRZN11VariantTest9TestVisit11test_methodEvEUlS2_E0_RZNS6_11test_methodEvEUlcE1_RZNS6_11test_methodEvEUlNS_4NoneEE_EEENS_13VariantDetail19SelectVisitorResultIIDpT_EE4typeEDpOSG_
-Psi::VariantDetail::SelectVisitorResult<VariantTest::TestVisit::test_method()::{lambda(char const*)#2}&, VariantTest::TestVisit::test_method()::{lambda(char)#3}&, VariantTest::TestVisit::test_method()::{lambda(Psi::None)#1}&>::type Psi::Variant<char, char const*>::visit<VariantTest::TestVisit::test_method()::{lambda(char const*)#2}&, VariantTest::TestVisit::test_method()::{lambda(char)#3}&, VariantTest::TestVisit::test_method()::{lambda(Psi::None)#1}&>((VariantTest::TestVisit::test_method()::{lambda(Psi::None)#1}&)...)
-#
-# Clone suffix tests
-#
---format=gnu-v3 --no-params
-_Z3fo5n.clone.1
-fo5(__int128) [clone .clone.1]
-fo5
-#
---format=gnu-v3 --no-params
-_Z3fo5n.constprop.2
-fo5(__int128) [clone .constprop.2]
-fo5
-#
---format=gnu-v3 --no-params
-_Z3fo5n.isra.3
-fo5(__int128) [clone .isra.3]
-fo5
-#
---format=gnu-v3 --no-params
-_Z3fo5n.part.4
-fo5(__int128) [clone .part.4]
-fo5
-#
---format=gnu-v3 --no-params
-_Z12to_be_clonediPv.clone.0
-to_be_cloned(int, void*) [clone .clone.0]
-to_be_cloned
-#
---format=gnu-v3 --no-params
-_Z3fooi.1988
-foo(int) [clone .1988]
-foo
-#
---format=gnu-v3 --no-params
-_Z3fooi.part.9.165493.constprop.775.31805
-foo(int) [clone .part.9.165493] [clone .constprop.775.31805]
-foo
-#
---format=gnu-v3 --no-params
-_Z2f1IiEvT_S0_S0_._omp_fn.2
-void f1<int>(int, int, int) [clone ._omp_fn.2]
-f1<int>
-#
---format=gnu-v3 --no-params
-_Z3fooi._omp_cpyfn.6
-foo(int) [clone ._omp_cpyfn.6]
-foo
-#
---format=gnu-v3 --no-params
-_Z1fIKFvvES0_Evv
-void f<void () const, void () const>()
-f<void () const, void () const>
-#
---format=gnu-v3
-_ZN4modc6parser8sequenceINS_9astParser13LocatedParserINS0_9ParserRefINS2_UlRNS2_16TokenParserInputEE_EEEEEINS0_14OptionalParserINS2_18ListParserTemplateILNS_6tokens5Token4TypeE4EXadL_ZNSD_Ut_13parenthesizedEEEE6ParserINS4_INS0_6ParserIS5_NS_3ast10ExpressionEEEEEEEEENSA_INS4_INS2_22OneOfKeywordsToTParserINSJ_5StyleEEEEEEENS0_14SequenceParserIS5_INS0_18ExactElementParserIS5_EENSA_ISM_EEEEENS0_14RepeatedParserINS4_INS0_15TransformParserINSU_IS5_INS4_INSP_INSJ_10Annotation12RelationshipEEEEESX_EEENS2_UlNS2_3LocES12_ONS_5MaybeISK_EEE19_EEEEELb0EEEEEENSU_INS0_17ExtractParserTypeIT_E9InputTypeEINS0_8MaybeRefIS1F_E4TypeEDpNS1I_IT0_E4TypeEEEEOS1F_DpOS1L_
-modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> ><modc::parser::ExtractParserType<modc::astParser::LocatedParser<modc::parser::ParserRef<modc::astParser::{lambda(modc::astParser::TokenParserInput&)#1}> > >::InputType, modc::parser::MaybeRef<modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}>::Type, modc::parser::RepeatedParser<modc::parser::ParserRef<modc::parser::TransformParser<modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> ><modc::astParser::TokenParserInput<modc::parser::ParserRef<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > ><modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Annotation::Relationship> >, modc::parser::ExactElementParser> >, modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}> >, false><modc::parser::OptionalParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > > > >::Type, modc::parser::RepeatedParser<modc::parser::ParserRef<modc::parser::TransformParser<modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> ><modc::astParser::TokenParserInput<modc::parser::ParserRef<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > ><modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Annotation::Relationship> >, modc::parser::ExactElementParser> >, modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}> >, false><modc::astParser::LocatedParser<modc::parser::ParserRef<modc::astParser::{lambda(modc::astParser::TokenParserInput&)#1}> ><modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> > > >::Type, modc::parser::RepeatedParser<modc::parser::ParserRef<modc::parser::TransformParser<modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> ><modc::astParser::TokenParserInput<modc::parser::ParserRef<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > ><modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Annotation::Relationship> >, modc::parser::ExactElementParser> >, modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}> >, false><modc::parser::SequenceParser<modc::astParser::TokenParserInput<modc::parser::ExactElementParser<modc::astParser::TokenParserInput>, modc::astParser::LocatedParser<modc::parser::ParserRef<modc::astParser::{lambda(modc::astParser::TokenParserInput&)#1}> ><modc::ast::Expression> > > >::Type, modc::parser::RepeatedParser<modc::parser::ParserRef<modc::parser::TransformParser<modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> ><modc::astParser::TokenParserInput<modc::parser::ParserRef<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > ><modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Annotation::Relationship> >, modc::parser::ExactElementParser> >, modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}> >, false><modc::parser::RepeatedParser<modc::parser::ParserRef<modc::parser::TransformParser<modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> ><modc::astParser::TokenParserInput<modc::parser::ParserRef<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > ><modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Annotation::Relationship> >, modc::parser::ExactElementParser> >, modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}> >, false> >::Type> modc::parser::sequence<modc::astParser::LocatedParser<modc::parser::ParserRef<modc::astParser::{lambda(modc::astParser::TokenParserInput&)#1}> >, modc::parser::OptionalParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > > >, modc::astParser::LocatedParser<modc::parser::ParserRef<modc::astParser::{lambda(modc::astParser::TokenParserInput&)#1}> ><modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> > >, modc::parser::SequenceParser<modc::astParser::TokenParserInput<modc::parser::ExactElementParser<modc::astParser::TokenParserInput>, modc::astParser::LocatedParser<modc::parser::ParserRef<modc::astParser::{lambda(modc::astParser::TokenParserInput&)#1}> ><modc::ast::Expression> > >, modc::parser::RepeatedParser<modc::parser::ParserRef<modc::parser::TransformParser<modc::parser::ParserRef<modc::astParser::OneOfKeywordsToTParser<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Style> ><modc::astParser::TokenParserInput<modc::parser::ParserRef<modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser<modc::parser::ParserRef<modc::parser::Parser<modc::astParser::TokenParserInput, modc::ast::Expression> > ><modc::astParser::ListParserTemplate<(modc::tokens::Token::Type)4, &modc::tokens::{unnamed type#1}::parenthesized>::Parser::Annotation::Relationship> >, modc::parser::ExactElementParser> >, modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}> >, false> >(modc::astParser::{lambda(modc::astParser::Loc, modc::parser::RepeatedParser, modc::Maybe<modc::parser::Parser>&&)#21}&&, (modc::parser::ExtractParserType<modc::astParser::LocatedParser<modc::parser::ParserRef<modc::astParser::{lambda(modc::astParser::TokenParserInput&)#1}> > >&&)...)
---format=gnu-v3
-_ZNKR1A1hEv
-A::h() const &
---format=gnu-v3
-_Z1lM1AKFvvRE
-l(void (A::*)() const &)
---format=gnu-v3
-_Z1mIFvvOEEvM1AT_
-void m<void () &&>(void (A::*)() &&)
---format=gnu-v3
-_Z1nIM1AKFvvREEvT_
-void n<void (A::*)() const &>(void (A::*)() const &)
---format=gnu-v3
-_ZL1fIiEvv
-void f<int>()
-# https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c3
---format=gnu-v3
-_ZSt7forwardIRN1x14refobjiteratorINS0_3refINS0_4mime30multipart_section_processorObjIZ15get_body_parserIZZN14mime_processor21make_section_iteratorERKNS2_INS3_10sectionObjENS0_10ptrrefBaseEEEbENKUlvE_clEvEUlSB_bE_ZZNS6_21make_section_iteratorESB_bENKSC_clEvEUlSB_E0_ENS1_INS2_INS0_20outputrefiteratorObjIiEES8_EEEERKSsSB_OT_OT0_EUlmE_NS3_32make_multipart_default_discarderISP_EEEES8_EEEEEOT_RNSt16remove_referenceISW_E4typeE
-x::refobjiterator<x::ref<x::mime::multipart_section_processorObj<x::refobjiterator<x::ref<x::outputrefiteratorObj<int>, x::ptrrefBase> > get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> >, x::ptrrefBase> >& std::forward<x::refobjiterator<x::ref<x::mime::multipart_section_processorObj<x::refobjiterator<x::ref<x::outputrefiteratorObj<int>, x::ptrrefBase> > get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> >, x::ptrrefBase> >&>(std::remove_reference<x::mime::multipart_section_processorObj<x::refobjiterator<x::ref<x::outputrefiteratorObj<int>, x::ptrrefBase> > get_body_parser<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}>(std::string const&, x::ref<x::mime::sectionObj, x::ptrrefBase> const&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&, mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&)#2}&&)::{lambda(unsigned long)#1}, x::mime::make_multipart_default_discarder<mime_processor::make_section_iterator(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)::{lambda()#1}::operator()() const::{lambda(x::ref<x::mime::sectionObj, x::ptrrefBase> const&, bool)#1}&&> > >::type&)
-#
---format=gnu-v3 --no-params
-_ZNK7strings8internal8SplitterINS_9delimiter5AnyOfENS_9SkipEmptyEEcvT_ISt6vectorI12basic_stringIcSt11char_traitsIcESaIcEESaISD_EEvEEv
-strings::internal::Splitter<strings::delimiter::AnyOf, strings::SkipEmpty>::operator std::vector<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<basic_string<char, std::char_traits<char>, std::allocator<char> > > ><std::vector<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<basic_string<char, std::char_traits<char>, std::allocator<char> > > >, void>() const
-strings::internal::Splitter<strings::delimiter::AnyOf, strings::SkipEmpty>::operator std::vector<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<basic_string<char, std::char_traits<char>, std::allocator<char> > > ><std::vector<basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<basic_string<char, std::char_traits<char>, std::allocator<char> > > >, void>
-#
---format=gnu-v3 --no-params
-_ZN1AcvT_I1CEEv
-A::operator C<C>()
-A::operator C<C>
-#
---format=gnu-v3 --no-params
-_ZN1AcvPT_I1CEEv
-A::operator C*<C>()
-A::operator C*<C>
-#
---format=gnu-v3 --no-params
-_ZN1AcvT_IiEI1CEEv
-A::operator C<int><C>()
-A::operator C<int><C>
-# https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c16
---format=gnu-v3
-_ZN3mdr16in_cached_threadIRZNK4cudr6GPUSet17parallel_for_eachIZN5tns3d20shape_representation7compute7GPUImpl7executeERKNS_1AINS_7ptr_refIKjEELl3ELl3ENS_8c_strideILl1ELl0EEEEERKNS8_INS9_IjEELl4ELl1ESD_EEEUliRKNS1_7ContextERNS7_5StateEE_JSt6vectorISO_SaISO_EEEEEvOT_DpRT0_EUlSP_E_JSt17reference_wrapperISO_EEEENS_12ScopedFutureIDTclfp_spcl7forwardISW_Efp0_EEEEESV_DpOSW_
-mdr::ScopedFuture<decltype ({parm#1}(((forward<void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&>)({parm#2}))...))> mdr::in_cached_thread<void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, std::reference_wrapper<tns3d::shape_representation::compute::GPUImpl::State> >(void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&, (void cudr::GPUSet::parallel_for_each<tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> > >(tns3d::shape_representation::compute::GPUImpl::execute(mdr::A<mdr::ptr_ref<unsigned int const>, 3l, 3l, mdr::c_stride<1l, 0l> > const&, mdr::A<mdr::ptr_ref<unsigned int>, 4l, 1l, mdr::c_stride<1l, 0l> > const&)::{lambda(int, cudr::Context const&, tns3d::shape_representation::compute::GPUImpl::State&)#1}&&, std::vector<tns3d::shape_representation::compute::GPUImpl::State, std::allocator<tns3d::shape_representation::compute::GPUImpl::State> >&) const::{lambda(tns3d::shape_representation::compute::GPUImpl::State&)#1}&&&)...)
-# https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c18
---format=gnu-v3
-_ZNSt9_Any_data9_M_accessIPZN13ThreadManager10futureTaskISt5_BindIFSt7_Mem_fnIM6RunnerFvvEEPS5_EEEEvOT_EUlvE_EERSC_v
-void ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)>&&)::{lambda()#1}*& std::_Any_data::_M_access<void ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(void ThreadManager::futureTask<std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)> >(std::_Bind<std::_Mem_fn<void (Runner::*)()> (Runner*)>&&)::{lambda()#1}*&&)::{lambda()#1}*>()
-# https://sourceware.org/bugzilla/show_bug.cgi?id=14963#c24
-# aka https://sourceware.org/bugzilla/show_bug.cgi?id=16593
---format=gnu-v3
-_ZNSt9_Any_data9_M_accessIPZN3sel8Selector6SetObjI3FooJPKcMS4_FviEEEEvRT_DpT0_EUlvE_EESA_v
-void sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(Foo&, char const*, void (Foo::*)(int))::{lambda()#1}*& std::_Any_data::_M_access<void sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(void sel::Selector::SetObj<Foo, char const*, void (Foo::*)(int)>(Foo&, char const*, void (Foo::*)(int))::{lambda()#1}*&, char const*, void (Foo::*)(int))::{lambda()#1}*>()
-# https://sourceware.org/bugzilla/show_bug.cgi?id=16752#c1
---format=gnu-v3
-_ZNSt9_Any_data9_M_accessIPZN13ThreadManager7newTaskIRSt5_BindIFSt7_Mem_fnIM5DiaryFivEEPS5_EEIEEESt6futureINSt9result_ofIFT_DpT0_EE4typeEEOSF_DpOSG_EUlvE_EERSF_v
-std::future<std::result_of<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>& ()>::type> ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&)::{lambda()#1}*& std::_Any_data::_M_access<std::future<std::result_of<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>& ()>::type> ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::future<std::result_of<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>& ()>::type> ThreadManager::newTask<std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&>(std::_Bind<std::_Mem_fn<int (Diary::*)()> (Diary*)>&)::{lambda()#1}*&&)::{lambda()#1}*>()
-# https://sourceware.org/bugzilla/show_bug.cgi?id=16752#c6
---format=gnu-v3
-_ZNSt9_Any_data9_M_accessIPZN6cereal18polymorphic_detail15getInputBindingINS1_16JSONInputArchiveEEENS1_6detail15InputBindingMapIT_E11SerializersERS7_jEUlPvRSt10unique_ptrIvNS5_12EmptyDeleterIvEEEE0_EESA_v
-cereal::detail::InputBindingMap<cereal::JSONInputArchive>::Serializers cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::JSONInputArchive&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*& std::_Any_data::_M_access<cereal::detail::InputBindingMap<cereal::JSONInputArchive>::Serializers cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::detail::InputBindingMap<cereal::JSONInputArchive>::Serializers cereal::polymorphic_detail::getInputBinding<cereal::JSONInputArchive>(cereal::JSONInputArchive&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*&, unsigned int)::{lambda(void*, std::unique_ptr<void, cereal::detail::EmptyDeleter<void> >&)#2}*>()
-# https://sourceware.org/bugzilla/show_bug.cgi?id=16845#c2
---format=gnu-v3
-_ZNSt9_Any_data9_M_accessIPZ4postISt8functionIFvvEEEvOT_EUlvE_EERS5_v
-void post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*& std::_Any_data::_M_access<void post<std::function<void ()> >(void post<std::function<void ()> >(std::function<void ()>&&)::{lambda()#1}*&&)::{lambda()#1}*>()
-#
---format=auto --no-params
-_Z3xxxDFyuVb
-xxx(unsigned long long _Fract, bool volatile)
-xxx
-# https://sourceware.org/bugzilla/show_bug.cgi?id=16817
---format=auto --no-params
-_QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
-_QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
-_QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
---format=gnu-v3
-_Z1fSsB3fooS_
-f(std::string[abi:foo], std::string[abi:foo])
---format=gnu-v3
-_Z18IndirectExternCallIPU7stdcallU7regparmILi3EEFviiEiEvT_T0_S3_
-void IndirectExternCall<void ( regparm<3> stdcall*)(int, int), int>(void ( regparm<3> stdcall*)(int, int), int, void ( regparm<3> stdcall*)(int, int))
-#
-# ABI tags used to confuse the constructor name calculation.
---format=gnu-v3 --no-params
-_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code
-std::ios_base::failure[abi:cxx11]::failure(char const*, std::error_code const&)
-std::ios_base::failure[abi:cxx11]::failure
---format=gnu-v3
-_Z1fPDxFvvES0_
-f(void (*)() transaction_safe, void (*)() transaction_safe)
-#
-# These two are from gcc PR61321, and gcc PR61233 / gdb PR16957
-#
---format=gnu-v3
-_Z13function_tempIiEv1AIXszcvT_Li999EEE
-void function_temp<int>(A<sizeof ((int)(999))>)
-#
---format=gnu-v3
-_Z7ZipWithI7QStringS0_5QListZN4oral6detail16AdaptCreateTableI7AccountEES0_RKNS3_16CachedFieldsDataEEUlRKS0_SA_E_ET1_IDTclfp1_cvT__EcvT0__EEEERKT1_ISC_ERKT1_ISD_ET2_
-QList<decltype ({parm#3}((QString)(), (QString)()))> ZipWith<QString, QString, QList, QString oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1}>(QList<QString oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1}> const&, QList<QList> const&, QString oral::detail::AdaptCreateTable<Account>(oral::detail::CachedFieldsData const&)::{lambda(QString const&, QString const&)#1})
-#
-# These three are symbols generated by g++'s testsuite, which triggered the same bug as above.
---format=gnu-v3
-_Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE
-int& int_if_addable<Y>(A<sizeof ((*((Y*)(0)))+(*((Y*)(0))))>*)
-#
---format=gnu-v3
-_Z3bazIiEvP1AIXszcl3foocvT__ELCf00000000_00000000EEEE
-void baz<int>(A<sizeof (foo((int)(), (float _Complex)00000000_00000000))>*)
-#
---format=gnu-v3
-_Z3fooI1FEN1XIXszdtcl1PclcvT__EEE5arrayEE4TypeEv
-X<sizeof ((P(((F)())())).array)>::Type foo<F>()
-
-_Z1fIJidEEv1AIXsZT_EE
-void f<int, double>(A<2>)
-
-_ZN1A1fIJiiEiJiiiEEEvRAsPDpT_T0_DpT1_E_iS3_S5_
-void A::f<int, int, int, int, int, int>(int (&) [6], int, int, int, int)
-
-_Z10unary_leftIJLi1ELi2ELi3EEEv1AIXflplT_EE
-void unary_left<1, 2, 3>(A<(...+(1, 2, 3))>)
-
-_Z11unary_rightIJLi1ELi2ELi3EEEv1AIXfrplT_EE
-void unary_right<1, 2, 3>(A<((1, 2, 3)+...)>)
-
-_Z11binary_leftIJLi1ELi2ELi3EEEv1AIXfLplLi42ET_EE
-void binary_left<1, 2, 3>(A<((42)+...+(1, 2, 3))>)
-
-_Z12binary_rightIJLi1ELi2ELi3EEEv1AIXfRplT_Li42EEE
-void binary_right<1, 2, 3>(A<((1, 2, 3)+...+(42))>)
-#
-# Tests a use-after-free problem PR70481
-
-_Q.__0
-::Q.(void)
-#
-# Tests a use-after-free problem PR70481
-
-_Q10-__9cafebabe.
-cafebabe.::-(void)
-#
-# Tests integer overflow problem PR70492
-
-__vt_90000000000cafebabe
-__vt_90000000000cafebabe
-#
-# Tests write access violation PR70498
-
-_Z80800000000000000000000
-_Z80800000000000000000000
-#
-# Tests write access violation PR70926
-
-0__Ot2m02R5T0000500000
-0__Ot2m02R5T0000500000
-#
-
-0__GT50000000000_
-0__GT50000000000_
-#
-
-__t2m05B500000000000000000_
-__t2m05B500000000000000000_
-#
-# Tests stack overflow PR71696
-
-__10%0__S4_0T0T0
-%0<>::%0(%0<>)
diff --git a/src/cmd/vendor/golang.org/x/arch/arm/armasm/decode_test.go b/src/cmd/vendor/golang.org/x/arch/arm/armasm/decode_test.go
deleted file mode 100644
index e2d9127348..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm/armasm/decode_test.go
+++ /dev/null
@@ -1,69 +0,0 @@
-// 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.
-
-package armasm
-
-import (
- "encoding/hex"
- "io/ioutil"
- "strconv"
- "strings"
- "testing"
-)
-
-func TestDecode(t *testing.T) {
- data, err := ioutil.ReadFile("testdata/decode.txt")
- if err != nil {
- t.Fatal(err)
- }
- all := string(data)
- for strings.Contains(all, "\t\t") {
- all = strings.Replace(all, "\t\t", "\t", -1)
- }
- for _, line := range strings.Split(all, "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.SplitN(line, "\t", 4)
- i := strings.Index(f[0], "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f[0])
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f[0])
- }
- size := i / 2
- code, err := hex.DecodeString(f[0][:i] + f[0][i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f[0], err)
- continue
- }
- mode, err := strconv.Atoi(f[1])
- if err != nil {
- t.Errorf("invalid mode %q in: %s", f[1], line)
- continue
- }
- syntax, asm := f[2], f[3]
- inst, err := Decode(code, Mode(mode))
- var out string
- if err != nil {
- out = "error: " + err.Error()
- } else {
- switch syntax {
- case "gnu":
- out = GNUSyntax(inst)
- case "plan9": // [sic]
- out = GoSyntax(inst, 0, nil, nil)
- default:
- t.Errorf("unknown syntax %q", syntax)
- continue
- }
- }
- if out != asm || inst.Len != size {
- t.Errorf("Decode(%s) [%s] = %s, %d, want %s, %d", f[0], syntax, out, inst.Len, asm, size)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/arm/armasm/ext_test.go b/src/cmd/vendor/golang.org/x/arch/arm/armasm/ext_test.go
deleted file mode 100644
index f0758625f9..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm/armasm/ext_test.go
+++ /dev/null
@@ -1,615 +0,0 @@
-// 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.
-
-// Support for testing against external disassembler program.
-// Copied and simplified from ../../x86/x86asm/ext_test.go.
-
-package armasm
-
-import (
- "bufio"
- "bytes"
- "encoding/hex"
- "flag"
- "fmt"
- "io"
- "io/ioutil"
- "log"
- "math/rand"
- "os"
- "os/exec"
- "regexp"
- "runtime"
- "strings"
- "testing"
- "time"
-)
-
-var (
- printTests = flag.Bool("printtests", false, "print test cases that exercise new code paths")
- dumpTest = flag.Bool("dump", false, "dump all encodings")
- mismatch = flag.Bool("mismatch", false, "log allowed mismatches")
- longTest = flag.Bool("long", false, "long test")
- keep = flag.Bool("keep", false, "keep object files around")
- debug = false
-)
-
-// An ExtInst represents a single decoded instruction parsed
-// from an external disassembler's output.
-type ExtInst struct {
- addr uint32
- enc [4]byte
- nenc int
- text string
-}
-
-func (r ExtInst) String() string {
- return fmt.Sprintf("%#x: % x: %s", r.addr, r.enc, r.text)
-}
-
-// An ExtDis is a connection between an external disassembler and a test.
-type ExtDis struct {
- Arch Mode
- Dec chan ExtInst
- File *os.File
- Size int
- KeepFile bool
- Cmd *exec.Cmd
-}
-
-// Run runs the given command - the external disassembler - and returns
-// a buffered reader of its standard output.
-func (ext *ExtDis) Run(cmd ...string) (*bufio.Reader, error) {
- if *keep {
- log.Printf("%s\n", strings.Join(cmd, " "))
- }
- ext.Cmd = exec.Command(cmd[0], cmd[1:]...)
- out, err := ext.Cmd.StdoutPipe()
- if err != nil {
- return nil, fmt.Errorf("stdoutpipe: %v", err)
- }
- if err := ext.Cmd.Start(); err != nil {
- return nil, fmt.Errorf("exec: %v", err)
- }
-
- b := bufio.NewReaderSize(out, 1<<20)
- return b, nil
-}
-
-// Wait waits for the command started with Run to exit.
-func (ext *ExtDis) Wait() error {
- return ext.Cmd.Wait()
-}
-
-// testExtDis tests a set of byte sequences against an external disassembler.
-// The disassembler is expected to produce the given syntax and be run
-// in the given architecture mode (16, 32, or 64-bit).
-// The extdis function must start the external disassembler
-// and then parse its output, sending the parsed instructions on ext.Dec.
-// The generate function calls its argument f once for each byte sequence
-// to be tested. The generate function itself will be called twice, and it must
-// make the same sequence of calls to f each time.
-// When a disassembly does not match the internal decoding,
-// allowedMismatch determines whether this mismatch should be
-// allowed, or else considered an error.
-func testExtDis(
- t *testing.T,
- syntax string,
- arch Mode,
- extdis func(ext *ExtDis) error,
- generate func(f func([]byte)),
- allowedMismatch func(text string, size int, inst *Inst, dec ExtInst) bool,
-) {
- start := time.Now()
- ext := &ExtDis{
- Dec: make(chan ExtInst),
- Arch: arch,
- }
- errc := make(chan error)
-
- // First pass: write instructions to input file for external disassembler.
- file, f, size, err := writeInst(generate)
- if err != nil {
- t.Fatal(err)
- }
- ext.Size = size
- ext.File = f
- defer func() {
- f.Close()
- if !*keep {
- os.Remove(file)
- }
- }()
-
- // Second pass: compare disassembly against our decodings.
- var (
- totalTests = 0
- totalSkips = 0
- totalErrors = 0
-
- errors = make([]string, 0, 100) // sampled errors, at most cap
- )
- go func() {
- errc <- extdis(ext)
- }()
- generate(func(enc []byte) {
- dec, ok := <-ext.Dec
- if !ok {
- t.Errorf("decoding stream ended early")
- return
- }
- inst, text := disasm(syntax, arch, pad(enc))
- totalTests++
- if *dumpTest {
- fmt.Printf("%x -> %s [%d]\n", enc[:len(enc)], dec.text, dec.nenc)
- }
- if text != dec.text || inst.Len != dec.nenc {
- suffix := ""
- if allowedMismatch(text, size, &inst, dec) {
- totalSkips++
- if !*mismatch {
- return
- }
- suffix += " (allowed mismatch)"
- }
- totalErrors++
- if len(errors) >= cap(errors) {
- j := rand.Intn(totalErrors)
- if j >= cap(errors) {
- return
- }
- errors = append(errors[:j], errors[j+1:]...)
- }
- errors = append(errors, fmt.Sprintf("decode(%x) = %q, %d, want %q, %d%s", enc, text, inst.Len, dec.text, dec.nenc, suffix))
- }
- })
-
- if *mismatch {
- totalErrors -= totalSkips
- }
-
- for _, b := range errors {
- t.Log(b)
- }
-
- if totalErrors > 0 {
- t.Fail()
- }
- t.Logf("%d test cases, %d expected mismatches, %d failures; %.0f cases/second", totalTests, totalSkips, totalErrors, float64(totalTests)/time.Since(start).Seconds())
-
- if err := <-errc; err != nil {
- t.Fatalf("external disassembler: %v", err)
- }
-
-}
-
-const start = 0x8000 // start address of text
-
-// writeInst writes the generated byte sequences to a new file
-// starting at offset start. That file is intended to be the input to
-// the external disassembler.
-func writeInst(generate func(func([]byte))) (file string, f *os.File, size int, err error) {
- f, err = ioutil.TempFile("", "armasm")
- if err != nil {
- return
- }
-
- file = f.Name()
-
- f.Seek(start, io.SeekStart)
- w := bufio.NewWriter(f)
- defer w.Flush()
- size = 0
- generate(func(x []byte) {
- if len(x) > 4 {
- x = x[:4]
- }
- if debug {
- fmt.Printf("%#x: %x%x\n", start+size, x, zeros[len(x):])
- }
- w.Write(x)
- w.Write(zeros[len(x):])
- size += len(zeros)
- })
- return file, f, size, nil
-}
-
-var zeros = []byte{0, 0, 0, 0}
-
-// pad pads the code sequence with pops.
-func pad(enc []byte) []byte {
- if len(enc) < 4 {
- enc = append(enc[:len(enc):len(enc)], zeros[:4-len(enc)]...)
- }
- return enc
-}
-
-// disasm returns the decoded instruction and text
-// for the given source bytes, using the given syntax and mode.
-func disasm(syntax string, mode Mode, src []byte) (inst Inst, text string) {
- // If printTests is set, we record the coverage value
- // before and after, and we write out the inputs for which
- // coverage went up, in the format expected in testdata/decode.text.
- // This produces a fairly small set of test cases that exercise nearly
- // all the code.
- var cover float64
- if *printTests {
- cover -= coverage()
- }
-
- inst, err := Decode(src, mode)
- if err != nil {
- text = "error: " + err.Error()
- } else {
- text = inst.String()
- switch syntax {
- //case "arm":
- // text = ARMSyntax(inst)
- case "gnu":
- text = GNUSyntax(inst)
- //case "plan9": // [sic]
- // text = GoSyntax(inst, 0, nil)
- default:
- text = "error: unknown syntax " + syntax
- }
- }
-
- if *printTests {
- cover += coverage()
- if cover > 0 {
- max := len(src)
- if max > 4 && inst.Len <= 4 {
- max = 4
- }
- fmt.Printf("%x|%x\t%d\t%s\t%s\n", src[:inst.Len], src[inst.Len:max], mode, syntax, text)
- }
- }
-
- return
-}
-
-// coverage returns a floating point number denoting the
-// test coverage until now. The number increases when new code paths are exercised,
-// both in the Go program and in the decoder byte code.
-func coverage() float64 {
- /*
- testing.Coverage is not in the main distribution.
- The implementation, which must go in package testing, is:
-
- // Coverage reports the current code coverage as a fraction in the range [0, 1].
- func Coverage() float64 {
- var n, d int64
- for _, counters := range cover.Counters {
- for _, c := range counters {
- if c > 0 {
- n++
- }
- d++
- }
- }
- if d == 0 {
- return 0
- }
- return float64(n) / float64(d)
- }
- */
-
- var f float64
- f += testing.Coverage()
- f += decodeCoverage()
- return f
-}
-
-func decodeCoverage() float64 {
- n := 0
- for _, t := range decoderCover {
- if t {
- n++
- }
- }
- return float64(1+n) / float64(1+len(decoderCover))
-}
-
-// Helpers for writing disassembler output parsers.
-
-// hasPrefix reports whether any of the space-separated words in the text s
-// begins with any of the given prefixes.
-func hasPrefix(s string, prefixes ...string) bool {
- for _, prefix := range prefixes {
- for s := s; s != ""; {
- if strings.HasPrefix(s, prefix) {
- return true
- }
- i := strings.Index(s, " ")
- if i < 0 {
- break
- }
- s = s[i+1:]
- }
- }
- return false
-}
-
-// contains reports whether the text s contains any of the given substrings.
-func contains(s string, substrings ...string) bool {
- for _, sub := range substrings {
- if strings.Contains(s, sub) {
- return true
- }
- }
- return false
-}
-
-// isHex reports whether b is a hexadecimal character (0-9A-Fa-f).
-func isHex(b byte) bool { return b == '0' || unhex[b] > 0 }
-
-// parseHex parses the hexadecimal byte dump in hex,
-// appending the parsed bytes to raw and returning the updated slice.
-// The returned bool signals whether any invalid hex was found.
-// Spaces and tabs between bytes are okay but any other non-hex is not.
-func parseHex(hex []byte, raw []byte) ([]byte, bool) {
- hex = trimSpace(hex)
- for j := 0; j < len(hex); {
- for hex[j] == ' ' || hex[j] == '\t' {
- j++
- }
- if j >= len(hex) {
- break
- }
- if j+2 > len(hex) || !isHex(hex[j]) || !isHex(hex[j+1]) {
- return nil, false
- }
- raw = append(raw, unhex[hex[j]]<<4|unhex[hex[j+1]])
- j += 2
- }
- return raw, true
-}
-
-var unhex = [256]byte{
- '0': 0,
- '1': 1,
- '2': 2,
- '3': 3,
- '4': 4,
- '5': 5,
- '6': 6,
- '7': 7,
- '8': 8,
- '9': 9,
- 'A': 10,
- 'B': 11,
- 'C': 12,
- 'D': 13,
- 'E': 14,
- 'F': 15,
- 'a': 10,
- 'b': 11,
- 'c': 12,
- 'd': 13,
- 'e': 14,
- 'f': 15,
-}
-
-// index is like bytes.Index(s, []byte(t)) but avoids the allocation.
-func index(s []byte, t string) int {
- i := 0
- for {
- j := bytes.IndexByte(s[i:], t[0])
- if j < 0 {
- return -1
- }
- i = i + j
- if i+len(t) > len(s) {
- return -1
- }
- for k := 1; k < len(t); k++ {
- if s[i+k] != t[k] {
- goto nomatch
- }
- }
- return i
- nomatch:
- i++
- }
-}
-
-// fixSpace rewrites runs of spaces, tabs, and newline characters into single spaces in s.
-// If s must be rewritten, it is rewritten in place.
-func fixSpace(s []byte) []byte {
- s = trimSpace(s)
- for i := 0; i < len(s); i++ {
- if s[i] == '\t' || s[i] == '\n' || i > 0 && s[i] == ' ' && s[i-1] == ' ' {
- goto Fix
- }
- }
- return s
-
-Fix:
- b := s
- w := 0
- for i := 0; i < len(s); i++ {
- c := s[i]
- if c == '\t' || c == '\n' {
- c = ' '
- }
- if c == ' ' && w > 0 && b[w-1] == ' ' {
- continue
- }
- b[w] = c
- w++
- }
- if w > 0 && b[w-1] == ' ' {
- w--
- }
- return b[:w]
-}
-
-// trimSpace trims leading and trailing space from s, returning a subslice of s.
-func trimSpace(s []byte) []byte {
- j := len(s)
- for j > 0 && (s[j-1] == ' ' || s[j-1] == '\t' || s[j-1] == '\n') {
- j--
- }
- i := 0
- for i < j && (s[i] == ' ' || s[i] == '\t') {
- i++
- }
- return s[i:j]
-}
-
-// pcrel matches instructions using relative addressing mode.
-var (
- pcrel = regexp.MustCompile(`^((?:.* )?(?:b|bl)x?(?:eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le)?) 0x([0-9a-f]+)$`)
-)
-
-// Generators.
-//
-// The test cases are described as functions that invoke a callback repeatedly,
-// with a new input sequence each time. These helpers make writing those
-// a little easier.
-
-// condCases generates conditional instructions.
-func condCases(t *testing.T) func(func([]byte)) {
- return func(try func([]byte)) {
- // All the strides are relatively prime to 2 and therefore to 2²â¸,
- // so we will not repeat any instructions until we have tried all 2²â¸.
- // Using a stride other than 1 is meant to visit the instructions in a
- // pseudorandom order, which gives better variety in the set of
- // test cases chosen by -printtests.
- stride := uint32(10007)
- n := 1 << 28 / 7
- if testing.Short() {
- stride = 100003
- n = 1 << 28 / 1001
- } else if *longTest {
- stride = 200000033
- n = 1 << 28
- }
- x := uint32(0)
- for i := 0; i < n; i++ {
- enc := (x%15)<<28 | x&(1<<28-1)
- try([]byte{byte(enc), byte(enc >> 8), byte(enc >> 16), byte(enc >> 24)})
- x += stride
- }
- }
-}
-
-// uncondCases generates unconditional instructions.
-func uncondCases(t *testing.T) func(func([]byte)) {
- return func(try func([]byte)) {
- condCases(t)(func(enc []byte) {
- enc[3] |= 0xF0
- try(enc)
- })
- }
-}
-
-func countBits(x uint32) int {
- n := 0
- for ; x != 0; x >>= 1 {
- n += int(x & 1)
- }
- return n
-}
-
-func expandBits(x, m uint32) uint32 {
- var out uint32
- for i := uint(0); i < 32; i++ {
- out >>= 1
- if m&1 != 0 {
- out |= (x & 1) << 31
- x >>= 1
- }
- m >>= 1
- }
- return out
-}
-
-func tryCondMask(mask, val uint32, try func([]byte)) {
- n := countBits(^mask)
- bits := uint32(0)
- for i := 0; i < 1<<uint(n); i++ {
- bits += 848251 // arbitrary prime
- x := val | expandBits(bits, ^mask) | uint32(i)%15<<28
- try([]byte{byte(x), byte(x >> 8), byte(x >> 16), byte(x >> 24)})
- }
-}
-
-// vfpCases generates VFP instructions.
-func vfpCases(t *testing.T) func(func([]byte)) {
- const (
- vfpmask uint32 = 0xFF00FE10
- vfp uint32 = 0x0E009A00
- )
- return func(try func([]byte)) {
- tryCondMask(0xff00fe10, 0x0e009a00, try) // standard VFP instruction space
- tryCondMask(0xffc00f7f, 0x0e000b10, try) // VFP MOV core reg to/from float64 half
- tryCondMask(0xffe00f7f, 0x0e000a10, try) // VFP MOV core reg to/from float32
- tryCondMask(0xffef0fff, 0x0ee10a10, try) // VFP MOV core reg to/from cond codes
- }
-}
-
-// hexCases generates the cases written in hexadecimal in the encoded string.
-// Spaces in 'encoded' separate entire test cases, not individual bytes.
-func hexCases(t *testing.T, encoded string) func(func([]byte)) {
- return func(try func([]byte)) {
- for _, x := range strings.Fields(encoded) {
- src, err := hex.DecodeString(x)
- if err != nil {
- t.Errorf("parsing %q: %v", x, err)
- }
- try(src)
- }
- }
-}
-
-// testdataCases generates the test cases recorded in testdata/decode.txt.
-// It only uses the inputs; it ignores the answers recorded in that file.
-func testdataCases(t *testing.T) func(func([]byte)) {
- var codes [][]byte
- data, err := ioutil.ReadFile("testdata/decode.txt")
- if err != nil {
- t.Fatal(err)
- }
- for _, line := range strings.Split(string(data), "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.Fields(line)[0]
- i := strings.Index(f, "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f)
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f)
- }
- code, err := hex.DecodeString(f[:i] + f[i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f, err)
- continue
- }
- codes = append(codes, code)
- }
-
- return func(try func([]byte)) {
- for _, code := range codes {
- try(code)
- }
- }
-}
-
-func caller(skip int) string {
- pc, _, _, _ := runtime.Caller(skip)
- f := runtime.FuncForPC(pc)
- name := "?"
- if f != nil {
- name = f.Name()
- if i := strings.LastIndex(name, "."); i >= 0 {
- name = name[i+1:]
- }
- }
- return name
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/arm/armasm/objdump_test.go b/src/cmd/vendor/golang.org/x/arch/arm/armasm/objdump_test.go
deleted file mode 100644
index db51902cc7..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm/armasm/objdump_test.go
+++ /dev/null
@@ -1,268 +0,0 @@
-// 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.
-
-package armasm
-
-import (
- "encoding/binary"
- "strings"
- "testing"
-)
-
-func TestObjdumpARMTestdata(t *testing.T) { testObjdumpARM(t, testdataCases(t)) }
-func TestObjdumpARMManual(t *testing.T) { testObjdumpARM(t, hexCases(t, objdumpManualTests)) }
-func TestObjdumpARMCond(t *testing.T) { testObjdumpARM(t, condCases(t)) }
-func TestObjdumpARMUncond(t *testing.T) { testObjdumpARM(t, uncondCases(t)) }
-func TestObjdumpARMVFP(t *testing.T) { testObjdumpARM(t, vfpCases(t)) }
-
-// objdumpManualTests holds test cases that will be run by TestObjdumpARMManual.
-// If you are debugging a few cases that turned up in a longer run, it can be useful
-// to list them here and then use -run=Manual, particularly with tracing enabled.
-// Note that these are byte sequences, so they must be reversed from the usual
-// word presentation.
-var objdumpManualTests = `
-002a9b1d
-001b9bed
-020b8ded
-003a9b1d
-060b8ded
-fcde1100
-b4de1100
-bc480000
-0b008de7
-0b00ade7
-fdbcfaf7
-`
-
-// allowedMismatchObjdump reports whether the mismatch between text and dec
-// should be allowed by the test.
-func allowedMismatchObjdump(text string, size int, inst *Inst, dec ExtInst) bool {
- if hasPrefix(text, "error:") {
- if hasPrefix(dec.text, unsupported...) || strings.Contains(dec.text, "invalid:") || strings.HasSuffix(dec.text, "^") || strings.Contains(dec.text, "f16.f64") || strings.Contains(dec.text, "f64.f16") {
- return true
- }
- // word 4320F02C: libopcodes says 'nopmi {44}'.
- if hasPrefix(dec.text, "nop") && strings.Contains(dec.text, "{") {
- return true
- }
- }
-
- if hasPrefix(dec.text, "error:") && text == "undef" && inst.Enc == 0xf7fabcfd {
- return true
- }
-
- // word 00f02053: libopcodes says 'noppl {0}'.
- if hasPrefix(dec.text, "nop") && hasPrefix(text, "nop") && dec.text == text+" {0}" {
- return true
- }
-
- // word F57FF04F. we say 'dsb #15', libopcodes says 'dsb sy'.
- if hasPrefix(text, "dsb") && hasPrefix(dec.text, "dsb") {
- return true
- }
- // word F57FF06F. we say 'isb #15', libopcodes says 'isb sy'.
- if hasPrefix(text, "isb") && hasPrefix(dec.text, "isb") {
- return true
- }
- // word F57FF053. we say 'dmb #3', libopcodes says 'dmb osh'.
- if hasPrefix(text, "dmb") && hasPrefix(dec.text, "dmb") {
- return true
- }
-
- // word 992D0000. push/stmdb with no registers (undefined).
- // we say 'stmdbls sp!, {}', libopcodes says 'pushls {}'.
- if hasPrefix(text, "stmdb") && hasPrefix(dec.text, "push") && strings.Contains(text, "{}") && strings.Contains(dec.text, "{}") {
- return true
- }
-
- // word 28BD0000. pop/ldm with no registers (undefined).
- // we say 'ldmcs sp!, {}', libopcodes says 'popcs {}'.
- if hasPrefix(text, "ldm") && hasPrefix(dec.text, "pop") && strings.Contains(text, "{}") && strings.Contains(dec.text, "{}") {
- return true
- }
-
- // word 014640F0.
- // libopcodes emits #-0 for negative zero; we don't.
- if strings.Replace(dec.text, "#-0", "#0", -1) == text || strings.Replace(dec.text, ", #-0", "", -1) == text {
- return true
- }
-
- // word 91EF90F0. we say 'strdls r9, [pc, #0]!' but libopcodes says 'strdls r9, [pc]'.
- // word D16F60F0. we say 'strdle r6, [pc, #0]!' but libopcodes says 'strdle r6, [pc, #-0]'.
- if strings.Replace(text, ", #0]!", "]", -1) == strings.Replace(dec.text, ", #-0]", "]", -1) {
- return true
- }
-
- // word 510F4000. we say apsr, libopcodes says CPSR.
- if strings.Replace(dec.text, "CPSR", "apsr", -1) == text {
- return true
- }
-
- // word 06A4B059.
- // for ssat and usat, libopcodes decodes asr #0 as asr #0 but the manual seems to say it should be asr #32.
- // There is never an asr #0.
- if strings.Replace(dec.text, ", asr #0", ", asr #32", -1) == text {
- return true
- }
-
- if len(dec.enc) >= 4 {
- raw := binary.LittleEndian.Uint32(dec.enc[:4])
-
- // word 21FFF0B5.
- // the manual is clear that this is pre-indexed mode (with !) but libopcodes generates post-index (without !).
- if raw&0x01200000 == 0x01200000 && strings.Replace(text, "!", "", -1) == dec.text {
- return true
- }
-
- // word C100543E: libopcodes says tst, but no evidence for that.
- if strings.HasPrefix(dec.text, "tst") && raw&0x0ff00000 != 0x03100000 && raw&0x0ff00000 != 0x01100000 {
- return true
- }
-
- // word C3203CE8: libopcodes says teq, but no evidence for that.
- if strings.HasPrefix(dec.text, "teq") && raw&0x0ff00000 != 0x03300000 && raw&0x0ff00000 != 0x01300000 {
- return true
- }
-
- // word D14C552E: libopcodes says cmp but no evidence for that.
- if strings.HasPrefix(dec.text, "cmp") && raw&0x0ff00000 != 0x03500000 && raw&0x0ff00000 != 0x01500000 {
- return true
- }
-
- // word 2166AA4A: libopcodes says cmn but no evidence for that.
- if strings.HasPrefix(dec.text, "cmn") && raw&0x0ff00000 != 0x03700000 && raw&0x0ff00000 != 0x01700000 {
- return true
- }
-
- // word E70AEEEF: libopcodes says str but no evidence for that.
- if strings.HasPrefix(dec.text, "str") && len(dec.text) >= 5 && (dec.text[3] == ' ' || dec.text[5] == ' ') && raw&0x0e500018 != 0x06000000 && raw&0x0e500000 != 0x0400000 {
- return true
- }
-
- // word B0AF48F4: libopcodes says strd but P=0,W=1 which is unpredictable.
- if hasPrefix(dec.text, "ldr", "str") && raw&0x01200000 == 0x00200000 {
- return true
- }
-
- // word B6CC1C76: libopcodes inexplicably says 'uxtab16lt r1, ip, r6, ROR #24' instead of 'uxtab16lt r1, ip, r6, ror #24'
- if strings.ToLower(dec.text) == text {
- return true
- }
-
- // word F410FDA1: libopcodes says PLDW but the manual is clear that PLDW is F5/F7, not F4.
- // word F7D0FB17: libopcodes says PLDW but the manual is clear that PLDW has 0x10 clear
- if hasPrefix(dec.text, "pld") && raw&0xfd000010 != 0xf5000000 {
- return true
- }
-
- // word F650FE14: libopcodes says PLI but the manual is clear that PLI has 0x10 clear
- if hasPrefix(dec.text, "pli") && raw&0xff000010 != 0xf6000000 {
- return true
- }
- }
-
- return false
-}
-
-// Instructions known to libopcodes (or xed) but not to us.
-// Most of these are floating point coprocessor instructions.
-var unsupported = strings.Fields(`
- abs
- acs
- adf
- aes
- asn
- atn
- cdp
- cf
- cmf
- cnf
- cos
- cps
- crc32
- dvf
- eret
- exp
- fadd
- fcmp
- fcpy
- fcvt
- fdiv
- fdv
- fix
- fld
- flt
- fmac
- fmd
- fml
- fmr
- fms
- fmul
- fmx
- fneg
- fnm
- frd
- fsit
- fsq
- fst
- fsu
- fto
- fui
- hlt
- hvc
- lda
- ldc
- ldf
- lfm
- lgn
- log
- mar
- mcr
- mcrr
- mia
- mnf
- mra
- mrc
- mrrc
- mrs
- msr
- msr
- muf
- mvf
- nrm
- pol
- pow
- rdf
- rfc
- rfe
- rfs
- rmf
- rnd
- rpw
- rsf
- sdiv
- sev
- sfm
- sha1
- sha256
- sin
- smc
- sqt
- srs
- stc
- stf
- stl
- suf
- tan
- udf
- udiv
- urd
- vfma
- vfms
- vfnma
- vfnms
- vrint
- wfc
- wfs
-`)
diff --git a/src/cmd/vendor/golang.org/x/arch/arm/armasm/objdumpext_test.go b/src/cmd/vendor/golang.org/x/arch/arm/armasm/objdumpext_test.go
deleted file mode 100644
index 033e923d1f..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm/armasm/objdumpext_test.go
+++ /dev/null
@@ -1,259 +0,0 @@
-// 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.
-
-// Copied and simplified from ../../x86/x86asm/objdumpext_test.go.
-
-package armasm
-
-import (
- "bytes"
- "debug/elf"
- "encoding/binary"
- "fmt"
- "io"
- "log"
- "os"
- "strconv"
- "strings"
- "testing"
-)
-
-const objdumpPath = "/usr/local/bin/arm-linux-elf-objdump"
-
-func testObjdumpARM(t *testing.T, generate func(func([]byte))) {
- testObjdumpArch(t, generate, ModeARM)
-}
-
-func testObjdumpArch(t *testing.T, generate func(func([]byte)), arch Mode) {
- if testing.Short() {
- t.Skip("skipping objdump test in short mode")
- }
- if _, err := os.Stat(objdumpPath); err != nil {
- t.Skip(err)
- }
-
- testExtDis(t, "gnu", arch, objdump, generate, allowedMismatchObjdump)
-}
-
-func objdump(ext *ExtDis) error {
- // File already written with instructions; add ELF header.
- if ext.Arch == ModeARM {
- if err := writeELF32(ext.File, ext.Size); err != nil {
- return err
- }
- } else {
- panic("unknown arch")
- }
-
- b, err := ext.Run(objdumpPath, "-d", "-z", ext.File.Name())
- if err != nil {
- return err
- }
-
- var (
- nmatch int
- reading bool
- next uint32 = start
- addr uint32
- encbuf [4]byte
- enc []byte
- text string
- )
- flush := func() {
- if addr == next {
- if m := pcrel.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], int32(uint32(targ)-addr-uint32(len(enc))))
- }
- if strings.HasPrefix(text, "stmia") {
- text = "stm" + text[5:]
- }
- if strings.HasPrefix(text, "stmfd") {
- text = "stmdb" + text[5:]
- }
- if strings.HasPrefix(text, "ldmfd") {
- text = "ldm" + text[5:]
- }
- text = strings.Replace(text, "#0.0", "#0", -1)
- if text == "undefined" && len(enc) == 4 {
- text = "error: unknown instruction"
- enc = nil
- }
- if len(enc) == 4 {
- // prints as word but we want to record bytes
- enc[0], enc[3] = enc[3], enc[0]
- enc[1], enc[2] = enc[2], enc[1]
- }
- ext.Dec <- ExtInst{addr, encbuf, len(enc), text}
- encbuf = [4]byte{}
- enc = nil
- next += 4
- }
- }
- var textangle = []byte("<.text>:")
- for {
- line, err := b.ReadSlice('\n')
- if err != nil {
- if err == io.EOF {
- break
- }
- return fmt.Errorf("reading objdump output: %v", err)
- }
- if bytes.Contains(line, textangle) {
- reading = true
- continue
- }
- if !reading {
- continue
- }
- if debug {
- os.Stdout.Write(line)
- }
- if enc1 := parseContinuation(line, encbuf[:len(enc)]); enc1 != nil {
- enc = enc1
- continue
- }
- flush()
- nmatch++
- addr, enc, text = parseLine(line, encbuf[:0])
- if addr > next {
- return fmt.Errorf("address out of sync expected <= %#x at %q in:\n%s", next, line, line)
- }
- }
- flush()
- if next != start+uint32(ext.Size) {
- return fmt.Errorf("not enough results found [%d %d]", next, start+ext.Size)
- }
- if err := ext.Wait(); err != nil {
- return fmt.Errorf("exec: %v", err)
- }
-
- return nil
-}
-
-var (
- undefined = []byte("<UNDEFINED>")
- unpredictable = []byte("<UNPREDICTABLE>")
- illegalShifter = []byte("<illegal shifter operand>")
-)
-
-func parseLine(line []byte, encstart []byte) (addr uint32, enc []byte, text string) {
- oline := line
- i := index(line, ":\t")
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- x, err := strconv.ParseUint(string(trimSpace(line[:i])), 16, 32)
- if err != nil {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- addr = uint32(x)
- line = line[i+2:]
- i = bytes.IndexByte(line, '\t')
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- enc, ok := parseHex(line[:i], encstart)
- if !ok {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- line = trimSpace(line[i:])
- if bytes.Contains(line, undefined) {
- text = "undefined"
- return
- }
- if bytes.Contains(line, illegalShifter) {
- text = "undefined"
- return
- }
- if false && bytes.Contains(line, unpredictable) {
- text = "unpredictable"
- return
- }
- if i := bytes.IndexByte(line, ';'); i >= 0 {
- line = trimSpace(line[:i])
- }
- text = string(fixSpace(line))
- return
-}
-
-func parseContinuation(line []byte, enc []byte) []byte {
- i := index(line, ":\t")
- if i < 0 {
- return nil
- }
- line = line[i+1:]
- enc, _ = parseHex(line, enc)
- return enc
-}
-
-// writeELF32 writes an ELF32 header to the file,
-// describing a text segment that starts at start
-// and extends for size bytes.
-func writeELF32(f *os.File, size int) error {
- f.Seek(0, io.SeekStart)
- var hdr elf.Header32
- var prog elf.Prog32
- var sect elf.Section32
- var buf bytes.Buffer
- binary.Write(&buf, binary.LittleEndian, &hdr)
- off1 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &prog)
- off2 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &sect)
- off3 := buf.Len()
- buf.Reset()
- data := byte(elf.ELFDATA2LSB)
- hdr = elf.Header32{
- Ident: [16]byte{0x7F, 'E', 'L', 'F', 1, data, 1},
- Type: 2,
- Machine: uint16(elf.EM_ARM),
- Version: 1,
- Entry: start,
- Phoff: uint32(off1),
- Shoff: uint32(off2),
- Flags: 0x05000002,
- Ehsize: uint16(off1),
- Phentsize: uint16(off2 - off1),
- Phnum: 1,
- Shentsize: uint16(off3 - off2),
- Shnum: 3,
- Shstrndx: 2,
- }
- binary.Write(&buf, binary.LittleEndian, &hdr)
- prog = elf.Prog32{
- Type: 1,
- Off: start,
- Vaddr: start,
- Paddr: start,
- Filesz: uint32(size),
- Memsz: uint32(size),
- Flags: 5,
- Align: start,
- }
- binary.Write(&buf, binary.LittleEndian, &prog)
- binary.Write(&buf, binary.LittleEndian, &sect) // NULL section
- sect = elf.Section32{
- Name: 1,
- Type: uint32(elf.SHT_PROGBITS),
- Addr: start,
- Off: start,
- Size: uint32(size),
- Flags: uint32(elf.SHF_ALLOC | elf.SHF_EXECINSTR),
- Addralign: 4,
- }
- binary.Write(&buf, binary.LittleEndian, &sect) // .text
- sect = elf.Section32{
- Name: uint32(len("\x00.text\x00")),
- Type: uint32(elf.SHT_STRTAB),
- Addr: 0,
- Off: uint32(off2 + (off3-off2)*3),
- Size: uint32(len("\x00.text\x00.shstrtab\x00")),
- Addralign: 1,
- }
- binary.Write(&buf, binary.LittleEndian, &sect)
- buf.WriteString("\x00.text\x00.shstrtab\x00")
- f.Write(buf.Bytes())
- return nil
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/Makefile b/src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/Makefile
deleted file mode 100644
index 1adab68517..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-newdecode.txt:
- cd ..; go test -cover -run 'ObjdumpARMCond' -v -timeout 10h -printtests -long 2>&1 | tee log
- cd ..; go test -cover -run 'ObjdumpARMUncond' -v -timeout 10h -printtests -long 2>&1 | tee -a log
- egrep ' (gnu|plan9) ' ../log |sort >newdecode.txt
-
diff --git a/src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/decode.txt b/src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/decode.txt
deleted file mode 100644
index 7653ee0643..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm/armasm/testdata/decode.txt
+++ /dev/null
@@ -1,1600 +0,0 @@
-000001f1| 1 gnu setend le
-00100f61| 1 gnu mrsvs r1, apsr
-00f02053| 1 gnu noppl
-00f0d4f4| 1 gnu pli [r4]
-01f020d3| 1 gnu yieldle
-02002d59| 1 gnu stmdbpl sp!, {r1}
-021da9d8| 1 gnu stmle r9!, {r1, r8, sl, fp, ip}
-02c0b071| 1 gnu movsvc ip, r2
-02f02073| 1 gnu wfevc
-03f02013| 1 gnu wfine
-03f05df7| 1 gnu pld [sp, -r3]
-04009d34| 1 gnu popcc {r0}
-043a52b1| 1 gnu cmplt r2, r4, lsl #20
-04402de5| 1 gnu push {r4}
-045b148d| 1 gnu vldrhi d5, [r4, #-16]
-04f02093| 1 gnu sevls
-0793eab0| 1 gnu rsclt r9, sl, r7, lsl #6
-079bfb9e| 1 gnu vmovls.f64 d25, #183
-0a4fc9d3| 1 gnu bicle r4, r9, #10, 30
-0bac7ab6| 1 gnu ldrbtlt sl, [sl], -fp, lsl #24
-0c2aee44| 1 gnu strbtmi r2, [lr], #2572
-0c4bb000| 1 gnu adcseq r4, r0, ip, lsl #22
-0e26d561| 1 gnu bicsvs r2, r5, lr, lsl #12
-0f0fa011| 1 gnu lslne r0, pc, #30
-0fa448e0| 1 gnu sub sl, r8, pc, lsl #8
-101af1de| 1 gnu vmrsle r1, fpscr
-108a0cee| 1 gnu vmov s24, r8
-108a1dae| 1 gnu vmovge r8, s26
-108ae14e| 1 gnu vmsrmi fpscr, r8
-10faf1ae| 1 gnu vmrsge apsr_nzcv, fpscr
-10fb052e| 1 gnu vmovcs.32 d5[0], pc
-11c902b7| 1 gnu smladlt r2, r1, r9, ip
-11ef5b16| 1 gnu uadd16ne lr, fp, r1
-12fa87a7| 1 gnu usad8ge r7, r2, sl
-135f2956| 1 gnu qadd16pl r5, r9, r3
-13de9aa1| 1 gnu orrsge sp, sl, r3, lsl lr
-145c0e40| 1 gnu andmi r5, lr, r4, lsl ip
-150f7fd6| 1 gnu uhadd16le r0, pc, r5
-15b9bf12| 1 gnu adcsne fp, pc, #344064
-16373391| 1 gnu teqls r3, r6, lsl r7
-19ef1966| 1 gnu sadd16vs lr, r9, r9
-1ab0b091| 1 gnu lslsls fp, sl, r0
-1b9f6fe6| 1 gnu uqadd16 r9, pc, fp
-1bb58557| 1 gnu usada8pl r5, fp, r5, fp
-1beff8e0| 1 gnu rscs lr, r8, fp, lsl pc
-1caff0e6| 1 gnu usat sl, #16, ip, lsl #30
-1d0f3d36| 1 gnu shadd16cc r0, sp, sp
-1dca1d52| 1 gnu andspl ip, sp, #118784
-1e4891d0| 1 gnu addsle r4, r1, lr, lsl r8
-1f0889e6| 1 gnu pkhbt r0, r9, pc, lsl #16
-1f1f6fe1| 1 gnu clz r1, pc
-1f26d157| 1 gnu bfcpl r2, #12, #6
-1ff07ff5| 1 gnu clrex
-1fff2fd1| 1 gnu bxle pc
-20f153f6| 1 gnu pli [r3, -r0, lsr #2]
-21047013| 1 gnu cmnne r0, #553648128
-21c2eb8b| 1 gnu blhi .-0x50f778
-21c2ebfb| 1 gnu blx .-0x50f776
-21fa62ee| 1 gnu vmul.f32 s31, s4, s3
-23005720| 1 gnu subscs r0, r7, r3, lsr #32
-236a303e| 1 gnu vaddcc.f32 s12, s0, s7
-23f055f6| 1 gnu pli [r5, -r3, lsr #32]
-2430a031| 1 gnu lsrcc r3, r4, #32
-245d0803| 1 gnu movweq r5, #36132
-251a86be| 1 gnu vdivlt.f32 s2, s12, s11
-25db7b81| 1 gnu cmnhi fp, r5, lsr #22
-26bc3553| 1 gnu teqpl r5, #9728
-277c2d69| 1 gnu pushvs {r0, r1, r2, r5, sl, fp, ip, sp, lr}
-29fc1cf5| 1 gnu pldw [ip, #-3113]
-29ff2fc1| 1 gnu bxjgt r9
-2decd9c0| 1 gnu sbcsgt lr, r9, sp, lsr #24
-30fa5e47| 1 gnu smmulrmi lr, r0, sl
-316f64d6| 1 gnu uqasxle r6, r4, r1
-323f5da6| 1 gnu uasxge r3, sp, r2
-327fe5e6| 1 gnu usat16 r7, #5, r2
-330151e3| 1 gnu cmp r1, #-1073741812
-34af2ae6| 1 gnu qasx sl, sl, r4
-35fd3710| 1 gnu eorsne pc, r7, r5, lsr sp
-36def1c1| 1 gnu mvnsgt sp, r6, lsr lr
-3801b061| 1 gnu lsrsvs r0, r8, r1
-38985477| 1 gnu smmlarvc r4, r8, r8, r9
-3a2fbfa6| 1 gnu revge r2, sl
-3a3f1b06| 1 gnu sasxeq r3, fp, sl
-3a7fa346| 1 gnu ssat16mi r7, #4, sl
-3a943b94| 1 gnu ldrtls r9, [fp], #-1082
-3bf505e7| 1 gnu smuadx r5, fp, r5
-3cef7086| 1 gnu uhasxhi lr, r0, ip
-3e5f3ec6| 1 gnu shasxgt r5, lr, lr
-3f4fff86| 1 gnu rbithi r4, pc
-3faf4717| 1 gnu smlaldxne sl, r7, pc, pc
-3fff2fc1| 1 gnu blxgt pc
-402bbf7e| 1 gnu vcvtvc.u16.f64 d2, d2, #16
-403ab5de| 1 gnu vcmple.f32 s6, #0
-40eb363e| 1 gnu vsubcc.f64 d14, d6, d0
-420f73d1| 1 gnu cmnle r3, r2, asr #30
-424a648e| 1 gnu vnmulhi.f32 s9, s8, s4
-4284d717| 1 gnu ldrbne r8, [r7, r2, asr #8]
-42a599c3| 1 gnu orrsgt sl, r9, #276824064
-42abf0be| 1 gnu vmovlt.f64 d26, d2
-446ea031| 1 gnu asrcc r6, r4, #28
-4a953557| 1 gnu ldrpl r9, [r5, -sl, asr #10]!
-4ab6f712| 1 gnu rscsne fp, r7, #77594624
-4af07ff5| 1 gnu dsb #10
-4df6def4| 1 gnu pli [lr, #1613]
-4efbf52e| 1 gnu vcmpcs.f64 d31, #0
-50aaac79| 1 gnu stmibvc ip!, {r4, r6, r9, fp, sp, pc}
-50caf011| 1 gnu mvnsne ip, r0, asr sl
-50f04961| 1 gnu qdaddvs pc, r0, r9
-51282008| 1 gnu stmdaeq r0!, {r0, r4, r6, fp, sp}
-52bf6576| 1 gnu uqsaxvc fp, r5, r2
-5345c9d0| 1 gnu sbcle r4, r9, r3, asr r5
-538f5e46| 1 gnu usaxmi r8, lr, r3
-54106d31| 1 gnu qdsubcc r1, r4, sp
-56e0e557| 1 gnu ubfxpl lr, r6, #0, #6
-57073d11| 1 gnu teqne sp, r7, asr r7
-58bb0aa9| 1 gnu stmdbge sl, {r3, r4, r6, r8, r9, fp, ip, sp, pc}
-58f007b1| 1 gnu qaddlt pc, r8, r7
-59fd0e77| 1 gnu smusdvc lr, r9, sp
-5ab7f1c5| 1 gnu ldrbgt fp, [r1, #1882]!
-5abf23c6| 1 gnu qsaxgt fp, r3, sl
-5b8f1c96| 1 gnu ssaxls r8, ip, fp
-5b98ab97| 1 gnu sbfxls r9, fp, #16, #12
-5bc9b041| 1 gnu asrsmi ip, fp, r9
-5bf07ff5| 1 gnu dmb #11
-5c102b81| 1 gnu qsubhi r1, ip, fp
-5caa49e1| 1 gnu qdadd sl, ip, r9
-5d3f7226| 1 gnu uhsaxcs r3, r2, sp
-5db55470| 1 gnu subsvc fp, r4, sp, asr r5
-5ef14387| 1 gnu smlsldhi pc, r3, lr, r1
-5f540a11| 1 gnu qaddne r5, pc, sl
-5f9079d1| 1 gnu cmnle r9, pc, asr r0
-5faf3f66| 1 gnu shsaxvs sl, pc, pc
-605071d7| 1 gnu ldrble r5, [r1, -r0, rrx]!
-614adc76| 1 gnu ldrbvc r4, [ip], r1, ror #20
-616b9e42| 1 gnu addsmi r6, lr, #99328
-62c84f15| 1 gnu strbne ip, [pc, #-2146]
-62f051f7| 1 gnu pld [r1, -r2, rrx]
-6346c393| 1 gnu bicls r4, r3, #103809024
-654abbae| 1 gnu vcvtge.f32.u16 s8, s8, #5
-65a5f0e3| 1 gnu mvns sl, #423624704
-65f796f7| 1 gnu pldw [r6, r5, ror #14]
-670bb12e| 1 gnu vnegcs.f64 d0, d23
-67903731| 1 gnu teqcc r7, r7, rrx
-68ddc637| 1 gnu strbcc sp, [r6, r8, ror #26]
-695b3ab6| 1 gnu ldrtlt r5, [sl], -r9, ror #22
-697cfc71| 1 gnu mvnsvc r7, r9, ror #24
-6a0ab3ee| 1 gnu vcvtb.f16.f32 s0, s21
-6ad9ad54| 1 gnu strtpl sp, [sp], #2410
-6af07ff5| 1 gnu isb #10
-6afa6f10| 1 gnu rsbne pc, pc, sl, ror #20
-6d5b19ee| 1 gnu vnmla.f64 d5, d9, d29
-6d60b071| 1 gnu rrxsvc r6, sp
-6df754f7| 1 gnu pld [r4, -sp, ror #14]
-70065821| 1 gnu cmpcs r8, r0, ror r6
-7050ed86| 1 gnu uxtabhi r5, sp, r0
-715f1186| 1 gnu ssub16hi r5, r1, r1
-716c9805| 1 gnu ldreq r6, [r8, #3185]
-718d5ab1| 1 gnu cmplt sl, r1, ror sp
-71c8cfb6| 1 gnu uxtb16lt ip, r1, ror #16
-7294af06| 1 gnu sxtbeq r9, r2, ror #8
-72c0bac6| 1 gnu sxtahgt ip, sl, r2
-730f6716| 1 gnu uqsub16ne r0, r7, r3
-73608f46| 1 gnu sxtb16mi r6, r3
-73687f22| 1 gnu rsbscs r6, pc, #7536640
-74308816| 1 gnu sxtab16ne r3, r8, r4
-757f3456| 1 gnu shsub16pl r7, r4, r5
-77788016| 1 gnu sxtab16ne r7, r0, r7, ror #16
-78061671| 1 gnu tstvc r6, r8, ror r6
-780a2fe1| 1 gnu bkpt 0xf0a8
-7850abd6| 1 gnu sxtable r5, fp, r8
-792cef26| 1 gnu uxtbcs r2, r9, ror #24
-799eb8e0| 1 gnu adcs r9, r8, r9, ror lr
-799f5726| 1 gnu usub16cs r9, r7, r9
-79d0bf16| 1 gnu sxthne sp, r9
-7a037ba1| 1 gnu cmnge fp, sl, ror r3
-7b0f2566| 1 gnu qsub16vs r0, r5, fp
-7b79dd51| 1 gnu bicspl r7, sp, fp, ror r9
-7b9a9f1d| 1 gnu vldrne s18, [pc, #492]
-7c70cea6| 1 gnu uxtab16ge r7, lr, ip
-7d48f966| 1 gnu uxtahvs r4, r9, sp, ror #16
-7d5c13a1| 1 gnu tstge r3, sp, ror ip
-7e0001f1| 1 gnu setend le
-7e1c0ba7| 1 gnu smlsdxge fp, lr, ip, r1
-7e567e40| 1 gnu rsbsmi r5, lr, lr, ror r6
-7e8f73b6| 1 gnu uhsub16lt r8, r3, lr
-7ef0ffd6| 1 gnu uxthle pc, lr
-7faaa011| 1 gnu rorne sl, pc, sl
-81f19af7| 1 gnu pldw [sl, r1, lsl #3]
-82033901| 1 gnu teqeq r9, r2, lsl #7
-82f316f5| 1 gnu pldw [r6, #-898]
-830201f1| 1 gnu setend be
-838a3b91| 1 gnu teqls fp, r3, lsl #21
-8408af2f| 1 gnu svccs 0x00af0884
-884201d1| 1 gnu smlabble r1, r8, r2, r4
-8aa12e31| 1 gnu smlawbcc lr, sl, r1, sl
-8b9b99c0| 1 gnu addsgt r9, r9, fp, lsl #23
-8c005c81| 1 gnu cmphi ip, ip, lsl #1
-8fb429c6| 1 gnu strtgt fp, [r9], -pc, lsl #9
-907b1f9e| 1 gnu vmovls.32 r7, d31[0]
-91975f25| 1 gnu ldrbcs r9, [pc, #-1937]
-91b010e3| 1 gnu tst r0, #145
-927facb1| 1 gnu strexdlt r7, r2, [ip]
-92904c91| 1 gnu swpbls r9, r2, [ip]
-92af1226| 1 gnu sadd8cs sl, r2, r2
-92b28c70| 1 gnu umullvc fp, ip, r2, r2
-945f68a6| 1 gnu uqadd8ge r5, r8, r4
-950b2560| 1 gnu mlavs r5, r5, fp, r0
-969fcf71| 1 gnu strexbvc r9, r6, [pc]
-96cf35e6| 1 gnu shadd8 ip, r5, r6
-98060eb0| 1 gnu mullt lr, r8, r6
-9843fb93| 1 gnu mvnsls r4, #152, 6
-9a3fe2b0| 1 gnu smlallt r3, r2, sl, pc
-9aef58b6| 1 gnu uadd8lt lr, r8, sl
-9afcdff5| 1 gnu pld [pc, #3226]
-9c221810| 1 gnu mulsne r8, ip, r2
-9c3bc9dd| 1 gnu vstrle d19, [r9, #624]
-9c5f2606| 1 gnu qadd8eq r5, r6, ip
-9d87dac0| 1 gnu smullsgt r8, sl, sp, r7
-9e0f7c86| 1 gnu uhadd8hi r0, ip, lr
-9e814560| 1 gnu umaalvs r8, r5, lr, r1
-9e9f8dc1| 1 gnu strexgt r9, lr, [sp]
-9ec3c9d7| 1 gnu bfile ip, lr, #7, #3
-9ed26d90| 1 gnu mlsls sp, lr, r2, sp
-9f7fd9c1| 1 gnu ldrexbgt r7, [r9]
-9f7fea91| 1 gnu strexhls r7, pc, [sl]
-9f9f9921| 1 gnu ldrexcs r9, [r9]
-9faffd21| 1 gnu ldrexhcs sl, [sp]
-9fcfbd61| 1 gnu ldrexdvs ip, [sp]
-9ff7a710| 1 gnu umlalne pc, r7, pc, r7
-a05459d3| 1 gnu cmple r9, #160, 8
-a3062be1| 1 gnu smulwb fp, r3, r6
-a68a92b1| 1 gnu orrslt r8, r2, r6, lsr #21
-abff55f6| 1 gnu pli [r5, -fp, lsr #31]
-addbf8ea| 1 gnu b .-0x1c9148
-ae79b021| 1 gnu lsrscs r7, lr, #19
-b590a3b1| 1 gnu strhlt r9, [r3, r5]!
-b5b2e390| 1 gnu strhtls fp, [r3], #37
-b6ac4e30| 1 gnu strhcc sl, [lr], #-198
-b73fff86| 1 gnu revshhi r3, r7
-b75fbfc6| 1 gnu rev16gt r5, r7
-b80b7c80| 1 gnu ldrhthi r0, [ip], #-184
-b82035e0| 1 gnu ldrht r2, [r5], -r8
-b8877391| 1 gnu ldrhls r8, [r3, #-120]!
-b9703e41| 1 gnu ldrhmi r7, [lr, -r9]!
-b9cf8c16| 1 gnu selne ip, ip, r9
-bd81bd58| 1 gnu poppl {r0, r2, r3, r4, r5, r7, r8, pc}
-bdfdb469| 1 gnu ldmibvs r4!, {r0, r2, r3, r4, r5, r7, r8, sl, fp, ip, sp, lr, pc}
-beb02500| 1 gnu strhteq fp, [r5], -lr
-bf1a5e42| 1 gnu subsmi r1, lr, #782336
-c19a4d5e| 1 gnu vmlspl.f32 s19, s27, s2
-c1aab15e| 1 gnu vsqrtpl.f32 s20, s2
-c354b003| 1 gnu movseq r5, #-1023410176
-c4091dc1| 1 gnu tstgt sp, r4, asr #19
-c50e13a9| 1 gnu ldmdbge r3, {r0, r2, r6, r7, r9, sl, fp}
-c68c8637| 1 gnu strcc r8, [r6, r6, asr #25]
-c6ad48e3| 1 gnu movt sl, #36294
-c6f65ff5| 1 gnu pld [pc, #-1734]
-c8a92f10| 1 gnu eorne sl, pc, r8, asr #19
-c9016b61| 1 gnu smulbtvs fp, r9, r1
-cadbf49e| 1 gnu vcmpels.f64 d29, d10
-ce9de476| 1 gnu strbtvc r9, [r4], lr, asr #27
-cf3c1ab1| 1 gnu tstlt sl, pc, asr #25
-d355aab6| 1 gnu ssatlt r5, #11, r3, asr #11
-d4f4df10| 1 gnu ldrsbne pc, [pc], #68
-d6530d61| 1 gnu ldrdvs r5, [sp, -r6]
-d74d7800| 1 gnu ldrsbteq r4, [r8], #-215
-d9703680| 1 gnu ldrsbthi r7, [r6], -r9
-dbe003c0| 1 gnu ldrdgt lr, [r3], -fp
-dc709561| 1 gnu ldrsbvs r7, [r5, ip]
-dcc3b9c8| 1 gnu ldmgt r9!, {r2, r3, r4, r6, r7, r8, r9, lr, pc}
-debfa0e5| 1 gnu str fp, [r0, #4062]!
-dee062a1| 1 gnu ldrdge lr, [r2, #-14]!
-dfa05ab7| 1 gnu smmlslt sl, pc, r0, sl
-e02ef011| 1 gnu mvnsne r2, r0, ror #29
-e4d41718| 1 gnu ldmdane r7, {r2, r5, r6, r7, sl, ip, lr, pc}
-e6d0fe34| 1 gnu ldrbtcc sp, [lr], #230
-e73bf7be| 1 gnu vcvtlt.f32.f64 s7, d23
-e74e72b3| 1 gnu cmnlt r2, #3696
-e80bf07e| 1 gnu vabsvc.f64 d16, d24
-e9b5b001| 1 gnu rorseq fp, r9, #11
-ea7bbdbe| 1 gnu vcvtlt.s32.f64 s14, d26
-ec063813| 1 gnu teqne r8, #236, 12
-ec0e49e1| 1 gnu smlaltt r0, r9, ip, lr
-ee4ab85e| 1 gnu vcvtpl.f32.s32 s8, s29
-ef461f25| 1 gnu ldrcs r4, [pc, #-1775]
-ef5fd002| 1 gnu sbcseq r5, r0, #956
-f4cf1d36| 1 gnu ssub8cc ip, sp, r4
-f67f73b6| 1 gnu uhsub8lt r7, r3, r6
-f6e09ca0| 1 gnu ldrshge lr, [ip], r6
-f7702e32| 1 gnu eorcc r7, lr, #247
-fa4dcf20| 1 gnu strdcs r4, [pc], #218
-fac03720| 1 gnu ldrshtcs ip, [r7], -sl
-fc0f64c6| 1 gnu uqsub8gt r0, r4, ip
-fc28f481| 1 gnu ldrshhi r2, [r4, #140]!
-fc300560| 1 gnu strdvs r3, [r5], -ip
-fcacfc70| 1 gnu ldrshtvc sl, [ip], #204
-fdbcfaf7| 1 gnu undef
-fddf5c86| 1 gnu usub8hi sp, ip, sp
-fdf02013| 1 gnu dbgne #13
-fe0319e3| 1 gnu tst r9, #-134217725
-fe7f3116| 1 gnu shsub8ne r7, r1, lr
-ff4f2ac6| 1 gnu qsub8gt r4, sl, pc
-ff818c71| 1 gnu strdvc r8, [ip, pc]
-|6b5721d3 1 gnu error: unknown instruction
-|76452001 1 gnu error: unknown instruction
-|97acd647 1 gnu error: unknown instruction
-11f71507| 1 plan9 SDIV.EQ R7, R1, R5
-15f715e7| 1 plan9 SDIV R7, R5, R5
-11f93517| 1 plan9 UDIV.NE R9, R1, R5
-12fb33e7| 1 plan9 UDIV R11, R2, R3
-ed003be9| 1 plan9 LDMDB [R0,R2-R3,R5-R7], R11!
-923124e0| 1 plan9 MLA R1, R2, R3, R4
-923134e0| 1 plan9 MLA.S R1, R2, R3, R4
-923164e0| 1 plan9 MLS R1, R2, R3, R4
-ff1000e2| 1 plan9 AND $255, R0, R1
-ff1400e2| 1 plan9 AND $4278190080, R0, R1
-ff1010e2| 1 plan9 AND.S $255, R0, R1
-ff1410e2| 1 plan9 AND.S $4278190080, R0, R1
-ff0000e2| 1 plan9 AND $255, R0, R0
-ff0400e2| 1 plan9 AND $4278190080, R0, R0
-ff0010e2| 1 plan9 AND.S $255, R0, R0
-ff0410e2| 1 plan9 AND.S $4278190080, R0, R0
-002001e0| 1 plan9 AND R0, R1, R2
-002011e0| 1 plan9 AND.S R0, R1, R2
-001001e0| 1 plan9 AND R0, R1, R1
-001011e0| 1 plan9 AND.S R0, R1, R1
-202e01e0| 1 plan9 AND R0>>$28, R1, R2
-002e01e0| 1 plan9 AND R0<<$28, R1, R2
-402e01e0| 1 plan9 AND R0->$28, R1, R2
-602e01e0| 1 plan9 AND R0@>$28, R1, R2
-202e11e0| 1 plan9 AND.S R0>>$28, R1, R2
-002e11e0| 1 plan9 AND.S R0<<$28, R1, R2
-402e11e0| 1 plan9 AND.S R0->$28, R1, R2
-602e11e0| 1 plan9 AND.S R0@>$28, R1, R2
-001e01e0| 1 plan9 AND R0<<$28, R1, R1
-201e01e0| 1 plan9 AND R0>>$28, R1, R1
-401e01e0| 1 plan9 AND R0->$28, R1, R1
-601e01e0| 1 plan9 AND R0@>$28, R1, R1
-001e11e0| 1 plan9 AND.S R0<<$28, R1, R1
-201e11e0| 1 plan9 AND.S R0>>$28, R1, R1
-401e11e0| 1 plan9 AND.S R0->$28, R1, R1
-601e11e0| 1 plan9 AND.S R0@>$28, R1, R1
-103102e0| 1 plan9 AND R0<<R1, R2, R3
-303102e0| 1 plan9 AND R0>>R1, R2, R3
-503102e0| 1 plan9 AND R0->R1, R2, R3
-703102e0| 1 plan9 AND R0@>R1, R2, R3
-103112e0| 1 plan9 AND.S R0<<R1, R2, R3
-303112e0| 1 plan9 AND.S R0>>R1, R2, R3
-503112e0| 1 plan9 AND.S R0->R1, R2, R3
-703112e0| 1 plan9 AND.S R0@>R1, R2, R3
-102102e0| 1 plan9 AND R0<<R1, R2, R2
-302102e0| 1 plan9 AND R0>>R1, R2, R2
-502102e0| 1 plan9 AND R0->R1, R2, R2
-702102e0| 1 plan9 AND R0@>R1, R2, R2
-102112e0| 1 plan9 AND.S R0<<R1, R2, R2
-302112e0| 1 plan9 AND.S R0>>R1, R2, R2
-502112e0| 1 plan9 AND.S R0->R1, R2, R2
-702112e0| 1 plan9 AND.S R0@>R1, R2, R2
-ff1020e2| 1 plan9 EOR $255, R0, R1
-ff1420e2| 1 plan9 EOR $4278190080, R0, R1
-ff1030e2| 1 plan9 EOR.S $255, R0, R1
-ff1430e2| 1 plan9 EOR.S $4278190080, R0, R1
-ff0020e2| 1 plan9 EOR $255, R0, R0
-ff0420e2| 1 plan9 EOR $4278190080, R0, R0
-ff0030e2| 1 plan9 EOR.S $255, R0, R0
-ff0430e2| 1 plan9 EOR.S $4278190080, R0, R0
-002021e0| 1 plan9 EOR R0, R1, R2
-002031e0| 1 plan9 EOR.S R0, R1, R2
-001021e0| 1 plan9 EOR R0, R1, R1
-001031e0| 1 plan9 EOR.S R0, R1, R1
-202e21e0| 1 plan9 EOR R0>>$28, R1, R2
-002e21e0| 1 plan9 EOR R0<<$28, R1, R2
-402e21e0| 1 plan9 EOR R0->$28, R1, R2
-602e21e0| 1 plan9 EOR R0@>$28, R1, R2
-202e31e0| 1 plan9 EOR.S R0>>$28, R1, R2
-002e31e0| 1 plan9 EOR.S R0<<$28, R1, R2
-402e31e0| 1 plan9 EOR.S R0->$28, R1, R2
-602e31e0| 1 plan9 EOR.S R0@>$28, R1, R2
-001e21e0| 1 plan9 EOR R0<<$28, R1, R1
-201e21e0| 1 plan9 EOR R0>>$28, R1, R1
-401e21e0| 1 plan9 EOR R0->$28, R1, R1
-601e21e0| 1 plan9 EOR R0@>$28, R1, R1
-001e31e0| 1 plan9 EOR.S R0<<$28, R1, R1
-201e31e0| 1 plan9 EOR.S R0>>$28, R1, R1
-401e31e0| 1 plan9 EOR.S R0->$28, R1, R1
-601e31e0| 1 plan9 EOR.S R0@>$28, R1, R1
-103122e0| 1 plan9 EOR R0<<R1, R2, R3
-303122e0| 1 plan9 EOR R0>>R1, R2, R3
-503122e0| 1 plan9 EOR R0->R1, R2, R3
-703122e0| 1 plan9 EOR R0@>R1, R2, R3
-103132e0| 1 plan9 EOR.S R0<<R1, R2, R3
-303132e0| 1 plan9 EOR.S R0>>R1, R2, R3
-503132e0| 1 plan9 EOR.S R0->R1, R2, R3
-703132e0| 1 plan9 EOR.S R0@>R1, R2, R3
-102122e0| 1 plan9 EOR R0<<R1, R2, R2
-302122e0| 1 plan9 EOR R0>>R1, R2, R2
-502122e0| 1 plan9 EOR R0->R1, R2, R2
-702122e0| 1 plan9 EOR R0@>R1, R2, R2
-102132e0| 1 plan9 EOR.S R0<<R1, R2, R2
-302132e0| 1 plan9 EOR.S R0>>R1, R2, R2
-502132e0| 1 plan9 EOR.S R0->R1, R2, R2
-702132e0| 1 plan9 EOR.S R0@>R1, R2, R2
-ff1080e3| 1 plan9 ORR $255, R0, R1
-ff1480e3| 1 plan9 ORR $4278190080, R0, R1
-ff1090e3| 1 plan9 ORR.S $255, R0, R1
-ff1490e3| 1 plan9 ORR.S $4278190080, R0, R1
-ff0080e3| 1 plan9 ORR $255, R0, R0
-ff0480e3| 1 plan9 ORR $4278190080, R0, R0
-ff0090e3| 1 plan9 ORR.S $255, R0, R0
-ff0490e3| 1 plan9 ORR.S $4278190080, R0, R0
-002081e1| 1 plan9 ORR R0, R1, R2
-002091e1| 1 plan9 ORR.S R0, R1, R2
-001081e1| 1 plan9 ORR R0, R1, R1
-001091e1| 1 plan9 ORR.S R0, R1, R1
-202e81e1| 1 plan9 ORR R0>>$28, R1, R2
-002e81e1| 1 plan9 ORR R0<<$28, R1, R2
-402e81e1| 1 plan9 ORR R0->$28, R1, R2
-602e81e1| 1 plan9 ORR R0@>$28, R1, R2
-202e91e1| 1 plan9 ORR.S R0>>$28, R1, R2
-002e91e1| 1 plan9 ORR.S R0<<$28, R1, R2
-402e91e1| 1 plan9 ORR.S R0->$28, R1, R2
-602e91e1| 1 plan9 ORR.S R0@>$28, R1, R2
-001e81e1| 1 plan9 ORR R0<<$28, R1, R1
-201e81e1| 1 plan9 ORR R0>>$28, R1, R1
-401e81e1| 1 plan9 ORR R0->$28, R1, R1
-601e81e1| 1 plan9 ORR R0@>$28, R1, R1
-001e91e1| 1 plan9 ORR.S R0<<$28, R1, R1
-201e91e1| 1 plan9 ORR.S R0>>$28, R1, R1
-401e91e1| 1 plan9 ORR.S R0->$28, R1, R1
-601e91e1| 1 plan9 ORR.S R0@>$28, R1, R1
-103182e1| 1 plan9 ORR R0<<R1, R2, R3
-303182e1| 1 plan9 ORR R0>>R1, R2, R3
-503182e1| 1 plan9 ORR R0->R1, R2, R3
-703182e1| 1 plan9 ORR R0@>R1, R2, R3
-103192e1| 1 plan9 ORR.S R0<<R1, R2, R3
-303192e1| 1 plan9 ORR.S R0>>R1, R2, R3
-503192e1| 1 plan9 ORR.S R0->R1, R2, R3
-703192e1| 1 plan9 ORR.S R0@>R1, R2, R3
-102182e1| 1 plan9 ORR R0<<R1, R2, R2
-302182e1| 1 plan9 ORR R0>>R1, R2, R2
-502182e1| 1 plan9 ORR R0->R1, R2, R2
-702182e1| 1 plan9 ORR R0@>R1, R2, R2
-102192e1| 1 plan9 ORR.S R0<<R1, R2, R2
-302192e1| 1 plan9 ORR.S R0>>R1, R2, R2
-502192e1| 1 plan9 ORR.S R0->R1, R2, R2
-702192e1| 1 plan9 ORR.S R0@>R1, R2, R2
-ff1040e2| 1 plan9 SUB $255, R0, R1
-ff1440e2| 1 plan9 SUB $4278190080, R0, R1
-ff1050e2| 1 plan9 SUB.S $255, R0, R1
-ff1450e2| 1 plan9 SUB.S $4278190080, R0, R1
-ff0040e2| 1 plan9 SUB $255, R0, R0
-ff0440e2| 1 plan9 SUB $4278190080, R0, R0
-ff0050e2| 1 plan9 SUB.S $255, R0, R0
-ff0450e2| 1 plan9 SUB.S $4278190080, R0, R0
-002041e0| 1 plan9 SUB R0, R1, R2
-002051e0| 1 plan9 SUB.S R0, R1, R2
-001041e0| 1 plan9 SUB R0, R1, R1
-001051e0| 1 plan9 SUB.S R0, R1, R1
-202e41e0| 1 plan9 SUB R0>>$28, R1, R2
-002e41e0| 1 plan9 SUB R0<<$28, R1, R2
-402e41e0| 1 plan9 SUB R0->$28, R1, R2
-602e41e0| 1 plan9 SUB R0@>$28, R1, R2
-202e51e0| 1 plan9 SUB.S R0>>$28, R1, R2
-002e51e0| 1 plan9 SUB.S R0<<$28, R1, R2
-402e51e0| 1 plan9 SUB.S R0->$28, R1, R2
-602e51e0| 1 plan9 SUB.S R0@>$28, R1, R2
-001e41e0| 1 plan9 SUB R0<<$28, R1, R1
-201e41e0| 1 plan9 SUB R0>>$28, R1, R1
-401e41e0| 1 plan9 SUB R0->$28, R1, R1
-601e41e0| 1 plan9 SUB R0@>$28, R1, R1
-001e51e0| 1 plan9 SUB.S R0<<$28, R1, R1
-201e51e0| 1 plan9 SUB.S R0>>$28, R1, R1
-401e51e0| 1 plan9 SUB.S R0->$28, R1, R1
-601e51e0| 1 plan9 SUB.S R0@>$28, R1, R1
-103142e0| 1 plan9 SUB R0<<R1, R2, R3
-303142e0| 1 plan9 SUB R0>>R1, R2, R3
-503142e0| 1 plan9 SUB R0->R1, R2, R3
-703142e0| 1 plan9 SUB R0@>R1, R2, R3
-103152e0| 1 plan9 SUB.S R0<<R1, R2, R3
-303152e0| 1 plan9 SUB.S R0>>R1, R2, R3
-503152e0| 1 plan9 SUB.S R0->R1, R2, R3
-703152e0| 1 plan9 SUB.S R0@>R1, R2, R3
-102142e0| 1 plan9 SUB R0<<R1, R2, R2
-302142e0| 1 plan9 SUB R0>>R1, R2, R2
-502142e0| 1 plan9 SUB R0->R1, R2, R2
-702142e0| 1 plan9 SUB R0@>R1, R2, R2
-102152e0| 1 plan9 SUB.S R0<<R1, R2, R2
-302152e0| 1 plan9 SUB.S R0>>R1, R2, R2
-502152e0| 1 plan9 SUB.S R0->R1, R2, R2
-702152e0| 1 plan9 SUB.S R0@>R1, R2, R2
-ff10c0e2| 1 plan9 SBC $255, R0, R1
-ff14c0e2| 1 plan9 SBC $4278190080, R0, R1
-ff10d0e2| 1 plan9 SBC.S $255, R0, R1
-ff14d0e2| 1 plan9 SBC.S $4278190080, R0, R1
-ff00c0e2| 1 plan9 SBC $255, R0, R0
-ff04c0e2| 1 plan9 SBC $4278190080, R0, R0
-ff00d0e2| 1 plan9 SBC.S $255, R0, R0
-ff04d0e2| 1 plan9 SBC.S $4278190080, R0, R0
-0020c1e0| 1 plan9 SBC R0, R1, R2
-0020d1e0| 1 plan9 SBC.S R0, R1, R2
-0010c1e0| 1 plan9 SBC R0, R1, R1
-0010d1e0| 1 plan9 SBC.S R0, R1, R1
-202ec1e0| 1 plan9 SBC R0>>$28, R1, R2
-002ec1e0| 1 plan9 SBC R0<<$28, R1, R2
-402ec1e0| 1 plan9 SBC R0->$28, R1, R2
-602ec1e0| 1 plan9 SBC R0@>$28, R1, R2
-202ed1e0| 1 plan9 SBC.S R0>>$28, R1, R2
-002ed1e0| 1 plan9 SBC.S R0<<$28, R1, R2
-402ed1e0| 1 plan9 SBC.S R0->$28, R1, R2
-602ed1e0| 1 plan9 SBC.S R0@>$28, R1, R2
-001ec1e0| 1 plan9 SBC R0<<$28, R1, R1
-201ec1e0| 1 plan9 SBC R0>>$28, R1, R1
-401ec1e0| 1 plan9 SBC R0->$28, R1, R1
-601ec1e0| 1 plan9 SBC R0@>$28, R1, R1
-001ed1e0| 1 plan9 SBC.S R0<<$28, R1, R1
-201ed1e0| 1 plan9 SBC.S R0>>$28, R1, R1
-401ed1e0| 1 plan9 SBC.S R0->$28, R1, R1
-601ed1e0| 1 plan9 SBC.S R0@>$28, R1, R1
-1031c2e0| 1 plan9 SBC R0<<R1, R2, R3
-3031c2e0| 1 plan9 SBC R0>>R1, R2, R3
-5031c2e0| 1 plan9 SBC R0->R1, R2, R3
-7031c2e0| 1 plan9 SBC R0@>R1, R2, R3
-1031d2e0| 1 plan9 SBC.S R0<<R1, R2, R3
-3031d2e0| 1 plan9 SBC.S R0>>R1, R2, R3
-5031d2e0| 1 plan9 SBC.S R0->R1, R2, R3
-7031d2e0| 1 plan9 SBC.S R0@>R1, R2, R3
-1021c2e0| 1 plan9 SBC R0<<R1, R2, R2
-3021c2e0| 1 plan9 SBC R0>>R1, R2, R2
-5021c2e0| 1 plan9 SBC R0->R1, R2, R2
-7021c2e0| 1 plan9 SBC R0@>R1, R2, R2
-1021d2e0| 1 plan9 SBC.S R0<<R1, R2, R2
-3021d2e0| 1 plan9 SBC.S R0>>R1, R2, R2
-5021d2e0| 1 plan9 SBC.S R0->R1, R2, R2
-7021d2e0| 1 plan9 SBC.S R0@>R1, R2, R2
-ff1060e2| 1 plan9 RSB $255, R0, R1
-ff1460e2| 1 plan9 RSB $4278190080, R0, R1
-ff1070e2| 1 plan9 RSB.S $255, R0, R1
-ff1470e2| 1 plan9 RSB.S $4278190080, R0, R1
-ff0060e2| 1 plan9 RSB $255, R0, R0
-ff0460e2| 1 plan9 RSB $4278190080, R0, R0
-ff0070e2| 1 plan9 RSB.S $255, R0, R0
-ff0470e2| 1 plan9 RSB.S $4278190080, R0, R0
-002061e0| 1 plan9 RSB R0, R1, R2
-002071e0| 1 plan9 RSB.S R0, R1, R2
-001061e0| 1 plan9 RSB R0, R1, R1
-001071e0| 1 plan9 RSB.S R0, R1, R1
-202e61e0| 1 plan9 RSB R0>>$28, R1, R2
-002e61e0| 1 plan9 RSB R0<<$28, R1, R2
-402e61e0| 1 plan9 RSB R0->$28, R1, R2
-602e61e0| 1 plan9 RSB R0@>$28, R1, R2
-202e71e0| 1 plan9 RSB.S R0>>$28, R1, R2
-002e71e0| 1 plan9 RSB.S R0<<$28, R1, R2
-402e71e0| 1 plan9 RSB.S R0->$28, R1, R2
-602e71e0| 1 plan9 RSB.S R0@>$28, R1, R2
-001e61e0| 1 plan9 RSB R0<<$28, R1, R1
-201e61e0| 1 plan9 RSB R0>>$28, R1, R1
-401e61e0| 1 plan9 RSB R0->$28, R1, R1
-601e61e0| 1 plan9 RSB R0@>$28, R1, R1
-001e71e0| 1 plan9 RSB.S R0<<$28, R1, R1
-201e71e0| 1 plan9 RSB.S R0>>$28, R1, R1
-401e71e0| 1 plan9 RSB.S R0->$28, R1, R1
-601e71e0| 1 plan9 RSB.S R0@>$28, R1, R1
-103162e0| 1 plan9 RSB R0<<R1, R2, R3
-303162e0| 1 plan9 RSB R0>>R1, R2, R3
-503162e0| 1 plan9 RSB R0->R1, R2, R3
-703162e0| 1 plan9 RSB R0@>R1, R2, R3
-103172e0| 1 plan9 RSB.S R0<<R1, R2, R3
-303172e0| 1 plan9 RSB.S R0>>R1, R2, R3
-503172e0| 1 plan9 RSB.S R0->R1, R2, R3
-703172e0| 1 plan9 RSB.S R0@>R1, R2, R3
-102162e0| 1 plan9 RSB R0<<R1, R2, R2
-302162e0| 1 plan9 RSB R0>>R1, R2, R2
-502162e0| 1 plan9 RSB R0->R1, R2, R2
-702162e0| 1 plan9 RSB R0@>R1, R2, R2
-102172e0| 1 plan9 RSB.S R0<<R1, R2, R2
-302172e0| 1 plan9 RSB.S R0>>R1, R2, R2
-502172e0| 1 plan9 RSB.S R0->R1, R2, R2
-702172e0| 1 plan9 RSB.S R0@>R1, R2, R2
-ff10e0e2| 1 plan9 RSC $255, R0, R1
-ff14e0e2| 1 plan9 RSC $4278190080, R0, R1
-ff10f0e2| 1 plan9 RSC.S $255, R0, R1
-ff14f0e2| 1 plan9 RSC.S $4278190080, R0, R1
-ff00e0e2| 1 plan9 RSC $255, R0, R0
-ff04e0e2| 1 plan9 RSC $4278190080, R0, R0
-ff00f0e2| 1 plan9 RSC.S $255, R0, R0
-ff04f0e2| 1 plan9 RSC.S $4278190080, R0, R0
-0020e1e0| 1 plan9 RSC R0, R1, R2
-0020f1e0| 1 plan9 RSC.S R0, R1, R2
-0010e1e0| 1 plan9 RSC R0, R1, R1
-0010f1e0| 1 plan9 RSC.S R0, R1, R1
-202ee1e0| 1 plan9 RSC R0>>$28, R1, R2
-002ee1e0| 1 plan9 RSC R0<<$28, R1, R2
-402ee1e0| 1 plan9 RSC R0->$28, R1, R2
-602ee1e0| 1 plan9 RSC R0@>$28, R1, R2
-202ef1e0| 1 plan9 RSC.S R0>>$28, R1, R2
-002ef1e0| 1 plan9 RSC.S R0<<$28, R1, R2
-402ef1e0| 1 plan9 RSC.S R0->$28, R1, R2
-602ef1e0| 1 plan9 RSC.S R0@>$28, R1, R2
-001ee1e0| 1 plan9 RSC R0<<$28, R1, R1
-201ee1e0| 1 plan9 RSC R0>>$28, R1, R1
-401ee1e0| 1 plan9 RSC R0->$28, R1, R1
-601ee1e0| 1 plan9 RSC R0@>$28, R1, R1
-001ef1e0| 1 plan9 RSC.S R0<<$28, R1, R1
-201ef1e0| 1 plan9 RSC.S R0>>$28, R1, R1
-401ef1e0| 1 plan9 RSC.S R0->$28, R1, R1
-601ef1e0| 1 plan9 RSC.S R0@>$28, R1, R1
-1031e2e0| 1 plan9 RSC R0<<R1, R2, R3
-3031e2e0| 1 plan9 RSC R0>>R1, R2, R3
-5031e2e0| 1 plan9 RSC R0->R1, R2, R3
-7031e2e0| 1 plan9 RSC R0@>R1, R2, R3
-1031f2e0| 1 plan9 RSC.S R0<<R1, R2, R3
-3031f2e0| 1 plan9 RSC.S R0>>R1, R2, R3
-5031f2e0| 1 plan9 RSC.S R0->R1, R2, R3
-7031f2e0| 1 plan9 RSC.S R0@>R1, R2, R3
-1021e2e0| 1 plan9 RSC R0<<R1, R2, R2
-3021e2e0| 1 plan9 RSC R0>>R1, R2, R2
-5021e2e0| 1 plan9 RSC R0->R1, R2, R2
-7021e2e0| 1 plan9 RSC R0@>R1, R2, R2
-1021f2e0| 1 plan9 RSC.S R0<<R1, R2, R2
-3021f2e0| 1 plan9 RSC.S R0>>R1, R2, R2
-5021f2e0| 1 plan9 RSC.S R0->R1, R2, R2
-7021f2e0| 1 plan9 RSC.S R0@>R1, R2, R2
-ff1080e2| 1 plan9 ADD $255, R0, R1
-ff1480e2| 1 plan9 ADD $4278190080, R0, R1
-ff1090e2| 1 plan9 ADD.S $255, R0, R1
-ff1490e2| 1 plan9 ADD.S $4278190080, R0, R1
-ff0080e2| 1 plan9 ADD $255, R0, R0
-ff0480e2| 1 plan9 ADD $4278190080, R0, R0
-ff0090e2| 1 plan9 ADD.S $255, R0, R0
-ff0490e2| 1 plan9 ADD.S $4278190080, R0, R0
-002081e0| 1 plan9 ADD R0, R1, R2
-002091e0| 1 plan9 ADD.S R0, R1, R2
-001081e0| 1 plan9 ADD R0, R1, R1
-001091e0| 1 plan9 ADD.S R0, R1, R1
-202e81e0| 1 plan9 ADD R0>>$28, R1, R2
-002e81e0| 1 plan9 ADD R0<<$28, R1, R2
-402e81e0| 1 plan9 ADD R0->$28, R1, R2
-602e81e0| 1 plan9 ADD R0@>$28, R1, R2
-202e91e0| 1 plan9 ADD.S R0>>$28, R1, R2
-002e91e0| 1 plan9 ADD.S R0<<$28, R1, R2
-402e91e0| 1 plan9 ADD.S R0->$28, R1, R2
-602e91e0| 1 plan9 ADD.S R0@>$28, R1, R2
-001e81e0| 1 plan9 ADD R0<<$28, R1, R1
-201e81e0| 1 plan9 ADD R0>>$28, R1, R1
-401e81e0| 1 plan9 ADD R0->$28, R1, R1
-601e81e0| 1 plan9 ADD R0@>$28, R1, R1
-001e91e0| 1 plan9 ADD.S R0<<$28, R1, R1
-201e91e0| 1 plan9 ADD.S R0>>$28, R1, R1
-401e91e0| 1 plan9 ADD.S R0->$28, R1, R1
-601e91e0| 1 plan9 ADD.S R0@>$28, R1, R1
-103182e0| 1 plan9 ADD R0<<R1, R2, R3
-303182e0| 1 plan9 ADD R0>>R1, R2, R3
-503182e0| 1 plan9 ADD R0->R1, R2, R3
-703182e0| 1 plan9 ADD R0@>R1, R2, R3
-103192e0| 1 plan9 ADD.S R0<<R1, R2, R3
-303192e0| 1 plan9 ADD.S R0>>R1, R2, R3
-503192e0| 1 plan9 ADD.S R0->R1, R2, R3
-703192e0| 1 plan9 ADD.S R0@>R1, R2, R3
-102182e0| 1 plan9 ADD R0<<R1, R2, R2
-302182e0| 1 plan9 ADD R0>>R1, R2, R2
-502182e0| 1 plan9 ADD R0->R1, R2, R2
-702182e0| 1 plan9 ADD R0@>R1, R2, R2
-102192e0| 1 plan9 ADD.S R0<<R1, R2, R2
-302192e0| 1 plan9 ADD.S R0>>R1, R2, R2
-502192e0| 1 plan9 ADD.S R0->R1, R2, R2
-702192e0| 1 plan9 ADD.S R0@>R1, R2, R2
-ff10a0e2| 1 plan9 ADC $255, R0, R1
-ff14a0e2| 1 plan9 ADC $4278190080, R0, R1
-ff10b0e2| 1 plan9 ADC.S $255, R0, R1
-ff14b0e2| 1 plan9 ADC.S $4278190080, R0, R1
-ff00a0e2| 1 plan9 ADC $255, R0, R0
-ff04a0e2| 1 plan9 ADC $4278190080, R0, R0
-ff00b0e2| 1 plan9 ADC.S $255, R0, R0
-ff04b0e2| 1 plan9 ADC.S $4278190080, R0, R0
-0020a1e0| 1 plan9 ADC R0, R1, R2
-0020b1e0| 1 plan9 ADC.S R0, R1, R2
-0010a1e0| 1 plan9 ADC R0, R1, R1
-0010b1e0| 1 plan9 ADC.S R0, R1, R1
-202ea1e0| 1 plan9 ADC R0>>$28, R1, R2
-002ea1e0| 1 plan9 ADC R0<<$28, R1, R2
-402ea1e0| 1 plan9 ADC R0->$28, R1, R2
-602ea1e0| 1 plan9 ADC R0@>$28, R1, R2
-202eb1e0| 1 plan9 ADC.S R0>>$28, R1, R2
-002eb1e0| 1 plan9 ADC.S R0<<$28, R1, R2
-402eb1e0| 1 plan9 ADC.S R0->$28, R1, R2
-602eb1e0| 1 plan9 ADC.S R0@>$28, R1, R2
-001ea1e0| 1 plan9 ADC R0<<$28, R1, R1
-201ea1e0| 1 plan9 ADC R0>>$28, R1, R1
-401ea1e0| 1 plan9 ADC R0->$28, R1, R1
-601ea1e0| 1 plan9 ADC R0@>$28, R1, R1
-001eb1e0| 1 plan9 ADC.S R0<<$28, R1, R1
-201eb1e0| 1 plan9 ADC.S R0>>$28, R1, R1
-401eb1e0| 1 plan9 ADC.S R0->$28, R1, R1
-601eb1e0| 1 plan9 ADC.S R0@>$28, R1, R1
-1031a2e0| 1 plan9 ADC R0<<R1, R2, R3
-3031a2e0| 1 plan9 ADC R0>>R1, R2, R3
-5031a2e0| 1 plan9 ADC R0->R1, R2, R3
-7031a2e0| 1 plan9 ADC R0@>R1, R2, R3
-1031b2e0| 1 plan9 ADC.S R0<<R1, R2, R3
-3031b2e0| 1 plan9 ADC.S R0>>R1, R2, R3
-5031b2e0| 1 plan9 ADC.S R0->R1, R2, R3
-7031b2e0| 1 plan9 ADC.S R0@>R1, R2, R3
-1021a2e0| 1 plan9 ADC R0<<R1, R2, R2
-3021a2e0| 1 plan9 ADC R0>>R1, R2, R2
-5021a2e0| 1 plan9 ADC R0->R1, R2, R2
-7021a2e0| 1 plan9 ADC R0@>R1, R2, R2
-1021b2e0| 1 plan9 ADC.S R0<<R1, R2, R2
-3021b2e0| 1 plan9 ADC.S R0>>R1, R2, R2
-5021b2e0| 1 plan9 ADC.S R0->R1, R2, R2
-7021b2e0| 1 plan9 ADC.S R0@>R1, R2, R2
-ff0037e3| 1 plan9 TEQ $255, R7
-ff0439e3| 1 plan9 TEQ $4278190080, R9
-090f37e1| 1 plan9 TEQ R9<<$30, R7
-290f37e1| 1 plan9 TEQ R9>>$30, R7
-490f37e1| 1 plan9 TEQ R9->$30, R7
-690f37e1| 1 plan9 TEQ R9@>$30, R7
-190837e1| 1 plan9 TEQ R9<<R8, R7
-390837e1| 1 plan9 TEQ R9>>R8, R7
-590837e1| 1 plan9 TEQ R9->R8, R7
-790837e1| 1 plan9 TEQ R9@>R8, R7
-ff0017e3| 1 plan9 TST $255, R7
-ff0419e3| 1 plan9 TST $4278190080, R9
-090f17e1| 1 plan9 TST R9<<$30, R7
-290f17e1| 1 plan9 TST R9>>$30, R7
-490f17e1| 1 plan9 TST R9->$30, R7
-690f17e1| 1 plan9 TST R9@>$30, R7
-190817e1| 1 plan9 TST R9<<R8, R7
-390817e1| 1 plan9 TST R9>>R8, R7
-590817e1| 1 plan9 TST R9->R8, R7
-790817e1| 1 plan9 TST R9@>R8, R7
-ff0057e3| 1 plan9 CMP $255, R7
-ff0459e3| 1 plan9 CMP $4278190080, R9
-090f57e1| 1 plan9 CMP R9<<$30, R7
-290f57e1| 1 plan9 CMP R9>>$30, R7
-490f57e1| 1 plan9 CMP R9->$30, R7
-690f57e1| 1 plan9 CMP R9@>$30, R7
-190857e1| 1 plan9 CMP R9<<R8, R7
-390857e1| 1 plan9 CMP R9>>R8, R7
-590857e1| 1 plan9 CMP R9->R8, R7
-790857e1| 1 plan9 CMP R9@>R8, R7
-ff0077e3| 1 plan9 CMN $255, R7
-ff0479e3| 1 plan9 CMN $4278190080, R9
-090f77e1| 1 plan9 CMN R9<<$30, R7
-290f77e1| 1 plan9 CMN R9>>$30, R7
-490f77e1| 1 plan9 CMN R9->$30, R7
-690f77e1| 1 plan9 CMN R9@>$30, R7
-190877e1| 1 plan9 CMN R9<<R8, R7
-390877e1| 1 plan9 CMN R9>>R8, R7
-590877e1| 1 plan9 CMN R9->R8, R7
-790877e1| 1 plan9 CMN R9@>R8, R7
-0c00000a| 1 plan9 B.EQ 0x38
-0b00001a| 1 plan9 B.NE 0x34
-0a00002a| 1 plan9 B.CS 0x30
-0900003a| 1 plan9 B.CC 0x2c
-0800004a| 1 plan9 B.MI 0x28
-0700005a| 1 plan9 B.PL 0x24
-0600006a| 1 plan9 B.VS 0x20
-0500007a| 1 plan9 B.VC 0x1c
-0400008a| 1 plan9 B.HI 0x18
-0300009a| 1 plan9 B.LS 0x14
-020000aa| 1 plan9 B.GE 0x10
-010000ba| 1 plan9 B.LT 0xc
-000000ca| 1 plan9 B.GT 0x8
-ffffffda| 1 plan9 B.LE 0x4
-fdffffea| 1 plan9 B 0xfffffffc
-fcffffea| 1 plan9 B 0xfffffff8
-fbffffea| 1 plan9 B 0xfffffff4
-faffffea| 1 plan9 B 0xfffffff0
-f9ffffea| 1 plan9 B 0xffffffec
-feffffea| 1 plan9 B 0x0
-0c00000b| 1 plan9 BL.EQ 0x38
-0b00001b| 1 plan9 BL.NE 0x34
-0a00002b| 1 plan9 BL.CS 0x30
-0900003b| 1 plan9 BL.CC 0x2c
-0800004b| 1 plan9 BL.MI 0x28
-0700005b| 1 plan9 BL.PL 0x24
-0600006b| 1 plan9 BL.VS 0x20
-0500007b| 1 plan9 BL.VC 0x1c
-0400008b| 1 plan9 BL.HI 0x18
-0300009b| 1 plan9 BL.LS 0x14
-020000ab| 1 plan9 BL.GE 0x10
-010000bb| 1 plan9 BL.LT 0xc
-000000cb| 1 plan9 BL.GT 0x8
-ffffffdb| 1 plan9 BL.LE 0x4
-fdffffeb| 1 plan9 BL 0xfffffffc
-fcffffeb| 1 plan9 BL 0xfffffff8
-fbffffeb| 1 plan9 BL 0xfffffff4
-faffffeb| 1 plan9 BL 0xfffffff0
-f9ffffeb| 1 plan9 BL 0xffffffec
-feffffeb| 1 plan9 BL 0x0
-ff10c0e3| 1 plan9 BIC $255, R0, R1
-ff14c0e3| 1 plan9 BIC $4278190080, R0, R1
-ff10d0e3| 1 plan9 BIC.S $255, R0, R1
-ff14d0e3| 1 plan9 BIC.S $4278190080, R0, R1
-ff00c0e3| 1 plan9 BIC $255, R0, R0
-ff04c0e3| 1 plan9 BIC $4278190080, R0, R0
-ff00d0e3| 1 plan9 BIC.S $255, R0, R0
-ff04d0e3| 1 plan9 BIC.S $4278190080, R0, R0
-0020c1e1| 1 plan9 BIC R0, R1, R2
-0020d1e1| 1 plan9 BIC.S R0, R1, R2
-0010c1e1| 1 plan9 BIC R0, R1, R1
-0010d1e1| 1 plan9 BIC.S R0, R1, R1
-202ec1e1| 1 plan9 BIC R0>>$28, R1, R2
-002ec1e1| 1 plan9 BIC R0<<$28, R1, R2
-402ec1e1| 1 plan9 BIC R0->$28, R1, R2
-602ec1e1| 1 plan9 BIC R0@>$28, R1, R2
-202ed1e1| 1 plan9 BIC.S R0>>$28, R1, R2
-002ed1e1| 1 plan9 BIC.S R0<<$28, R1, R2
-402ed1e1| 1 plan9 BIC.S R0->$28, R1, R2
-602ed1e1| 1 plan9 BIC.S R0@>$28, R1, R2
-001ec1e1| 1 plan9 BIC R0<<$28, R1, R1
-201ec1e1| 1 plan9 BIC R0>>$28, R1, R1
-401ec1e1| 1 plan9 BIC R0->$28, R1, R1
-601ec1e1| 1 plan9 BIC R0@>$28, R1, R1
-001ed1e1| 1 plan9 BIC.S R0<<$28, R1, R1
-201ed1e1| 1 plan9 BIC.S R0>>$28, R1, R1
-401ed1e1| 1 plan9 BIC.S R0->$28, R1, R1
-601ed1e1| 1 plan9 BIC.S R0@>$28, R1, R1
-1031c2e1| 1 plan9 BIC R0<<R1, R2, R3
-3031c2e1| 1 plan9 BIC R0>>R1, R2, R3
-5031c2e1| 1 plan9 BIC R0->R1, R2, R3
-7031c2e1| 1 plan9 BIC R0@>R1, R2, R3
-1031d2e1| 1 plan9 BIC.S R0<<R1, R2, R3
-3031d2e1| 1 plan9 BIC.S R0>>R1, R2, R3
-5031d2e1| 1 plan9 BIC.S R0->R1, R2, R3
-7031d2e1| 1 plan9 BIC.S R0@>R1, R2, R3
-1021c2e1| 1 plan9 BIC R0<<R1, R2, R2
-3021c2e1| 1 plan9 BIC R0>>R1, R2, R2
-5021c2e1| 1 plan9 BIC R0->R1, R2, R2
-7021c2e1| 1 plan9 BIC R0@>R1, R2, R2
-1021d2e1| 1 plan9 BIC.S R0<<R1, R2, R2
-3021d2e1| 1 plan9 BIC.S R0>>R1, R2, R2
-5021d2e1| 1 plan9 BIC.S R0->R1, R2, R2
-7021d2e1| 1 plan9 BIC.S R0@>R1, R2, R2
-2567a0e1| 1 plan9 LSR $14, R5, R6
-a567a0e1| 1 plan9 LSR $15, R5, R6
-256fa0e1| 1 plan9 LSR $30, R5, R6
-a56fa0e1| 1 plan9 LSR $31, R5, R6
-2567b0e1| 1 plan9 LSR.S $14, R5, R6
-a567b0e1| 1 plan9 LSR.S $15, R5, R6
-256fb0e1| 1 plan9 LSR.S $30, R5, R6
-a56fb0e1| 1 plan9 LSR.S $31, R5, R6
-2557a0e1| 1 plan9 LSR $14, R5, R5
-a557a0e1| 1 plan9 LSR $15, R5, R5
-255fa0e1| 1 plan9 LSR $30, R5, R5
-a55fa0e1| 1 plan9 LSR $31, R5, R5
-2557b0e1| 1 plan9 LSR.S $14, R5, R5
-a557b0e1| 1 plan9 LSR.S $15, R5, R5
-255fb0e1| 1 plan9 LSR.S $30, R5, R5
-a55fb0e1| 1 plan9 LSR.S $31, R5, R5
-3675a0e1| 1 plan9 LSR R5, R6, R7
-3675b0e1| 1 plan9 LSR.S R5, R6, R7
-3775a0e1| 1 plan9 LSR R5, R7, R7
-3775b0e1| 1 plan9 LSR.S R5, R7, R7
-4567a0e1| 1 plan9 ASR $14, R5, R6
-c567a0e1| 1 plan9 ASR $15, R5, R6
-456fa0e1| 1 plan9 ASR $30, R5, R6
-c56fa0e1| 1 plan9 ASR $31, R5, R6
-4567b0e1| 1 plan9 ASR.S $14, R5, R6
-c567b0e1| 1 plan9 ASR.S $15, R5, R6
-456fb0e1| 1 plan9 ASR.S $30, R5, R6
-c56fb0e1| 1 plan9 ASR.S $31, R5, R6
-4557a0e1| 1 plan9 ASR $14, R5, R5
-c557a0e1| 1 plan9 ASR $15, R5, R5
-455fa0e1| 1 plan9 ASR $30, R5, R5
-c55fa0e1| 1 plan9 ASR $31, R5, R5
-4557b0e1| 1 plan9 ASR.S $14, R5, R5
-c557b0e1| 1 plan9 ASR.S $15, R5, R5
-455fb0e1| 1 plan9 ASR.S $30, R5, R5
-c55fb0e1| 1 plan9 ASR.S $31, R5, R5
-5675a0e1| 1 plan9 ASR R5, R6, R7
-5675b0e1| 1 plan9 ASR.S R5, R6, R7
-5775a0e1| 1 plan9 ASR R5, R7, R7
-5775b0e1| 1 plan9 ASR.S R5, R7, R7
-0567a0e1| 1 plan9 LSL $14, R5, R6
-8567a0e1| 1 plan9 LSL $15, R5, R6
-056fa0e1| 1 plan9 LSL $30, R5, R6
-856fa0e1| 1 plan9 LSL $31, R5, R6
-0567b0e1| 1 plan9 LSL.S $14, R5, R6
-8567b0e1| 1 plan9 LSL.S $15, R5, R6
-056fb0e1| 1 plan9 LSL.S $30, R5, R6
-856fb0e1| 1 plan9 LSL.S $31, R5, R6
-0557a0e1| 1 plan9 LSL $14, R5, R5
-8557a0e1| 1 plan9 LSL $15, R5, R5
-055fa0e1| 1 plan9 LSL $30, R5, R5
-855fa0e1| 1 plan9 LSL $31, R5, R5
-0557b0e1| 1 plan9 LSL.S $14, R5, R5
-8557b0e1| 1 plan9 LSL.S $15, R5, R5
-055fb0e1| 1 plan9 LSL.S $30, R5, R5
-855fb0e1| 1 plan9 LSL.S $31, R5, R5
-1675a0e1| 1 plan9 LSL R5, R6, R7
-1675b0e1| 1 plan9 LSL.S R5, R6, R7
-1775a0e1| 1 plan9 LSL R5, R7, R7
-1775b0e1| 1 plan9 LSL.S R5, R7, R7
-c23124e1| 1 plan9 SMLAWT R1, R2, R3, R4
-823124e1| 1 plan9 SMLAWB R1, R2, R3, R4
-923164e0| 1 plan9 MLS R1, R2, R3, R4
-923124e0| 1 plan9 MLA R1, R2, R3, R4
-923134e0| 1 plan9 MLA.S R1, R2, R3, R4
-123154e7| 1 plan9 SMMLA R1, R2, R3, R4
-d23154e7| 1 plan9 SMMLS R1, R2, R3, R4
-823104e1| 1 plan9 SMLABB R1, R2, R3, R4
-a23104e1| 1 plan9 SMLATB R1, R2, R3, R4
-c23104e1| 1 plan9 SMLABT R1, R2, R3, R4
-e23104e1| 1 plan9 SMLATT R1, R2, R3, R4
-123104e7| 1 plan9 SMLAD R1, R2, R3, R4
-323104e7| 1 plan9 SMLAD.X R1, R2, R3, R4
-523104e7| 1 plan9 SMLSD R1, R2, R3, R4
-723104e7| 1 plan9 SMLSD.X R1, R2, R3, R4
-9231e4e0| 1 plan9 SMLAL R1, R2, R4, R3
-9231f4e0| 1 plan9 SMLAL.S R1, R2, R4, R3
-123144e7| 1 plan9 SMLALD R1, R2, R4, R3
-323144e7| 1 plan9 SMLALD.X R1, R2, R4, R3
-523144e7| 1 plan9 SMLSLD R1, R2, R4, R3
-723144e7| 1 plan9 SMLSLD.X R1, R2, R4, R3
-9231a4e0| 1 plan9 UMLAL R1, R2, R4, R3
-923144e0| 1 plan9 UMAAL R1, R2, R4, R3
-9231b4e0| 1 plan9 UMLAL.S R1, R2, R4, R3
-930204e0| 1 plan9 MUL R2, R3, R4
-920404e0| 1 plan9 MUL R4, R2, R4
-930214e0| 1 plan9 MUL.S R2, R3, R4
-920414e0| 1 plan9 MUL.S R4, R2, R4
-960507e0| 1 plan9 MUL R5, R6, R7
-950707e0| 1 plan9 MUL R7, R5, R7
-960517e0| 1 plan9 MUL.S R5, R6, R7
-950717e0| 1 plan9 MUL.S R7, R5, R7
-923184e0| 1 plan9 UMULL R1, R2, R4, R3
-923194e0| 1 plan9 UMULL.S R1, R2, R4, R3
-9231c4e0| 1 plan9 SMULL R1, R2, R4, R3
-9231d4e0| 1 plan9 SMULL.S R1, R2, R4, R3
-12f153e7| 1 plan9 SMMUL R1, R2, R3
-820163e1| 1 plan9 SMULBB R1, R2, R3
-a20163e1| 1 plan9 SMULTB R1, R2, R3
-c20163e1| 1 plan9 SMULBT R1, R2, R3
-e20163e1| 1 plan9 SMULTT R1, R2, R3
-a20123e1| 1 plan9 SMULWB R1, R2, R3
-e20123e1| 1 plan9 SMULWT R1, R2, R3
-12f103e7| 1 plan9 SMUAD R1, R2, R3
-32f103e7| 1 plan9 SMUAD.X R1, R2, R3
-52f103e7| 1 plan9 SMUSD R1, R2, R3
-72f103e7| 1 plan9 SMUSD.X R1, R2, R3
-312fbfe6| 1 plan9 REV R1, R2
-b12fbfe6| 1 plan9 REV16 R1, R2
-b12fffe6| 1 plan9 REVSH R1, R2
-312fffe6| 1 plan9 RBIT R1, R2
-112f6fe1| 1 plan9 CLZ R1, R2
-f0ffd6f5| 1 plan9 PLD 0xff0(R6)
-f0ff59f5| 1 plan9 PLD -0xff0(R9)
-f0ff96f5| 1 plan9 PLD.W 0xff0(R6)
-f0ff19f5| 1 plan9 PLD.W -0xff0(R9)
-f0ffdff5| 1 plan9 PLD 0xff0(R15)
-f0ff5ff5| 1 plan9 PLD -0xff0(R15)
-00f0d2f7| 1 plan9 PLD (R2)(R0)
-00f052f7| 1 plan9 PLD.U (R2)(R0)
-00f092f7| 1 plan9 PLD.W (R2)(R0)
-00f012f7| 1 plan9 PLD.W.U (R2)(R0)
-80f0d2f7| 1 plan9 PLD (R2)(R0<<1)
-80f052f7| 1 plan9 PLD.U (R2)(R0<<1)
-a0f0d2f7| 1 plan9 PLD (R2)(R0>>1)
-a0f052f7| 1 plan9 PLD.U (R2)(R0>>1)
-c0f0d2f7| 1 plan9 PLD (R2)(R0->1)
-c0f052f7| 1 plan9 PLD.U (R2)(R0->1)
-e0f0d2f7| 1 plan9 PLD (R2)(R0@>1)
-e0f052f7| 1 plan9 PLD.U (R2)(R0@>1)
-80f092f7| 1 plan9 PLD.W (R2)(R0<<1)
-80f012f7| 1 plan9 PLD.W.U (R2)(R0<<1)
-a0f092f7| 1 plan9 PLD.W (R2)(R0>>1)
-a0f012f7| 1 plan9 PLD.W.U (R2)(R0>>1)
-c0f092f7| 1 plan9 PLD.W (R2)(R0->1)
-c0f012f7| 1 plan9 PLD.W.U (R2)(R0->1)
-e0f092f7| 1 plan9 PLD.W (R2)(R0@>1)
-e0f012f7| 1 plan9 PLD.W.U (R2)(R0@>1)
-f0ffd2f4| 1 plan9 PLI 0xff0(R2)
-f0ff52f4| 1 plan9 PLI -0xff0(R2)
-00f0d2f6| 1 plan9 PLI (R2)(R0)
-00f052f6| 1 plan9 PLI.U (R2)(R0)
-82f0d3f6| 1 plan9 PLI (R3)(R2<<1)
-82f053f6| 1 plan9 PLI.U (R3)(R2<<1)
-a2f0d3f6| 1 plan9 PLI (R3)(R2>>1)
-a2f053f6| 1 plan9 PLI.U (R3)(R2>>1)
-c2f0d3f6| 1 plan9 PLI (R3)(R2->1)
-c2f053f6| 1 plan9 PLI.U (R3)(R2->1)
-e2f0d3f6| 1 plan9 PLI (R3)(R2@>1)
-e2f053f6| 1 plan9 PLI.U (R3)(R2@>1)
-939007e1| 1 plan9 SWP R3, (R7), R9
-948042e1| 1 plan9 SWP.B R4, (R2), R8
-000000ef| 1 plan9 SVC $0
-ffff00ef| 1 plan9 SVC $65535
-ff10e0e3| 1 plan9 MVN $255, R1
-ff14e0e3| 1 plan9 MVN $4278190080, R1
-ff10f0e3| 1 plan9 MVN.S $255, R1
-ff14f0e3| 1 plan9 MVN.S $4278190080, R1
-097fe0e1| 1 plan9 MVN R9<<$30, R7
-297fe0e1| 1 plan9 MVN R9>>$30, R7
-497fe0e1| 1 plan9 MVN R9->$30, R7
-697fe0e1| 1 plan9 MVN R9@>$30, R7
-097ff0e1| 1 plan9 MVN.S R9<<$30, R7
-297ff0e1| 1 plan9 MVN.S R9>>$30, R7
-497ff0e1| 1 plan9 MVN.S R9->$30, R7
-697ff0e1| 1 plan9 MVN.S R9@>$30, R7
-1978e0e1| 1 plan9 MVN R9<<R8, R7
-3978e0e1| 1 plan9 MVN R9>>R8, R7
-5978e0e1| 1 plan9 MVN R9->R8, R7
-7978e0e1| 1 plan9 MVN R9@>R8, R7
-1978f0e1| 1 plan9 MVN.S R9<<R8, R7
-3978f0e1| 1 plan9 MVN.S R9>>R8, R7
-5978f0e1| 1 plan9 MVN.S R9->R8, R7
-7978f0e1| 1 plan9 MVN.S R9@>R8, R7
-550081e8| 1 plan9 STM [R0,R2,R4,R6], R1
-5f0f81e8| 1 plan9 STM [R0-R4,R6,R8-R11], R1
-5500a1e8| 1 plan9 STM [R0,R2,R4,R6], R1!
-5f0fa1e8| 1 plan9 STM [R0-R4,R6,R8-R11], R1!
-550091e8| 1 plan9 LDM [R0,R2,R4,R6], R1
-5f0f91e8| 1 plan9 LDM [R0-R4,R6,R8-R11], R1
-5500b1e8| 1 plan9 LDM [R0,R2,R4,R6], R1!
-5f0fb1e8| 1 plan9 LDM [R0-R4,R6,R8-R11], R1!
-550001e8| 1 plan9 STMDA [R0,R2,R4,R6], R1
-5f0f01e8| 1 plan9 STMDA [R0-R4,R6,R8-R11], R1
-550021e8| 1 plan9 STMDA [R0,R2,R4,R6], R1!
-5f0f21e8| 1 plan9 STMDA [R0-R4,R6,R8-R11], R1!
-550011e8| 1 plan9 LDMDA [R0,R2,R4,R6], R1
-5f0f11e8| 1 plan9 LDMDA [R0-R4,R6,R8-R11], R1
-550031e8| 1 plan9 LDMDA [R0,R2,R4,R6], R1!
-5f0f31e8| 1 plan9 LDMDA [R0-R4,R6,R8-R11], R1!
-550001e9| 1 plan9 STMDB [R0,R2,R4,R6], R1
-5f0f01e9| 1 plan9 STMDB [R0-R4,R6,R8-R11], R1
-550021e9| 1 plan9 STMDB [R0,R2,R4,R6], R1!
-5f0f21e9| 1 plan9 STMDB [R0-R4,R6,R8-R11], R1!
-550011e9| 1 plan9 LDMDB [R0,R2,R4,R6], R1
-5f0f11e9| 1 plan9 LDMDB [R0-R4,R6,R8-R11], R1
-550031e9| 1 plan9 LDMDB [R0,R2,R4,R6], R1!
-5f0f31e9| 1 plan9 LDMDB [R0-R4,R6,R8-R11], R1!
-55008ae9| 1 plan9 STMIB [R0,R2,R4,R6], R10
-5f0f8ae9| 1 plan9 STMIB [R0-R4,R6,R8-R11], R10
-5500aae9| 1 plan9 STMIB [R0,R2,R4,R6], R10!
-5f0faae9| 1 plan9 STMIB [R0-R4,R6,R8-R11], R10!
-55009ae9| 1 plan9 LDMIB [R0,R2,R4,R6], R10
-5f0f9ae9| 1 plan9 LDMIB [R0-R4,R6,R8-R11], R10
-5500bae9| 1 plan9 LDMIB [R0,R2,R4,R6], R10!
-5f0fbae9| 1 plan9 LDMIB [R0-R4,R6,R8-R11], R10!
-0340a0e1| 1 plan9 MOVW R3, R4
-0920a0e1| 1 plan9 MOVW R9, R2
-ff90a0e3| 1 plan9 MOVW $255, R9
-ff94a0e3| 1 plan9 MOVW $4278190080, R9
-aaaa0a13| 1 plan9 MOVW.NE $43690, R10
-aaaa4a03| 1 plan9 MOVT.EQ $43690, R10
-5110e0e3| 1 plan9 MVN $81, R1
-001082e5| 1 plan9 MOVW R1, (R2)
-001082e4| 1 plan9 MOVW.P R1, (R2)
-0010a2e5| 1 plan9 MOVW.W R1, (R2)
-201082e5| 1 plan9 MOVW R1, 0x20(R2)
-201082e4| 1 plan9 MOVW.P R1, 0x20(R2)
-2010a2e5| 1 plan9 MOVW.W R1, 0x20(R2)
-201002e5| 1 plan9 MOVW R1, -0x20(R2)
-201002e4| 1 plan9 MOVW.P R1, -0x20(R2)
-201022e5| 1 plan9 MOVW.W R1, -0x20(R2)
-001092e5| 1 plan9 MOVW (R2), R1
-001092e4| 1 plan9 MOVW.P (R2), R1
-0010b2e5| 1 plan9 MOVW.W (R2), R1
-201092e5| 1 plan9 MOVW 0x20(R2), R1
-201092e4| 1 plan9 MOVW.P 0x20(R2), R1
-2010b2e5| 1 plan9 MOVW.W 0x20(R2), R1
-201012e5| 1 plan9 MOVW -0x20(R2), R1
-201012e4| 1 plan9 MOVW.P -0x20(R2), R1
-201032e5| 1 plan9 MOVW.W -0x20(R2), R1
-00100fe1| 1 plan9 MOVW APSR, R1
-fef02ce3| 1 plan9 MOVW $254, APSR
-fff42ce3| 1 plan9 MOVW $4278190080, APSR
-05f02c01| 1 plan9 MOVW.EQ R5, APSR
-09f02c11| 1 plan9 MOVW.NE R9, APSR
-109af10e| 1 plan9 MOVW.EQ FPSCR, R9
-10aaf1ee| 1 plan9 MOVW FPSCR, R10
-109ae11e| 1 plan9 MOVW.NE R9, FPSCR
-10aae1ee| 1 plan9 MOVW R10, FPSCR
-202e91e7| 1 plan9 MOVW (R1)(R0>>28), R2
-002e91e7| 1 plan9 MOVW (R1)(R0<<28), R2
-402e91e7| 1 plan9 MOVW (R1)(R0->28), R2
-602e91e7| 1 plan9 MOVW (R1)(R0@>28), R2
-202e11e7| 1 plan9 MOVW.U (R1)(R0>>28), R2
-002e11e7| 1 plan9 MOVW.U (R1)(R0<<28), R2
-402e11e7| 1 plan9 MOVW.U (R1)(R0->28), R2
-602e11e7| 1 plan9 MOVW.U (R1)(R0@>28), R2
-202eb1e7| 1 plan9 MOVW.W (R1)(R0>>28), R2
-002eb1e7| 1 plan9 MOVW.W (R1)(R0<<28), R2
-402eb1e7| 1 plan9 MOVW.W (R1)(R0->28), R2
-602eb1e7| 1 plan9 MOVW.W (R1)(R0@>28), R2
-202e9ae6| 1 plan9 MOVW.P (R10)(R0>>28), R2
-002e9ae6| 1 plan9 MOVW.P (R10)(R0<<28), R2
-402e9ae6| 1 plan9 MOVW.P (R10)(R0->28), R2
-602e9ae6| 1 plan9 MOVW.P (R10)(R0@>28), R2
-202e81e7| 1 plan9 MOVW R2, (R1)(R0>>28)
-002e81e7| 1 plan9 MOVW R2, (R1)(R0<<28)
-402e81e7| 1 plan9 MOVW R2, (R1)(R0->28)
-602e81e7| 1 plan9 MOVW R2, (R1)(R0@>28)
-202e01e7| 1 plan9 MOVW.U R2, (R1)(R0>>28)
-002e01e7| 1 plan9 MOVW.U R2, (R1)(R0<<28)
-402e01e7| 1 plan9 MOVW.U R2, (R1)(R0->28)
-602e01e7| 1 plan9 MOVW.U R2, (R1)(R0@>28)
-202ea1e7| 1 plan9 MOVW.W R2, (R1)(R0>>28)
-002ea1e7| 1 plan9 MOVW.W R2, (R1)(R0<<28)
-402ea1e7| 1 plan9 MOVW.W R2, (R1)(R0->28)
-602ea1e7| 1 plan9 MOVW.W R2, (R1)(R0@>28)
-202e85e6| 1 plan9 MOVW.P R2, (R5)(R0>>28)
-002e85e6| 1 plan9 MOVW.P R2, (R5)(R0<<28)
-402e85e6| 1 plan9 MOVW.P R2, (R5)(R0->28)
-602e85e6| 1 plan9 MOVW.P R2, (R5)(R0@>28)
-0010c2e5| 1 plan9 MOVB R1, (R2)
-0010c2e4| 1 plan9 MOVB.P R1, (R2)
-0010e2e5| 1 plan9 MOVB.W R1, (R2)
-2010c2e5| 1 plan9 MOVB R1, 0x20(R2)
-2010c2e4| 1 plan9 MOVB.P R1, 0x20(R2)
-2010e2e5| 1 plan9 MOVB.W R1, 0x20(R2)
-201042e5| 1 plan9 MOVB R1, -0x20(R2)
-201042e4| 1 plan9 MOVB.P R1, -0x20(R2)
-201062e5| 1 plan9 MOVB.W R1, -0x20(R2)
-d010d2e1| 1 plan9 MOVBS (R2), R1
-d010d2e0| 1 plan9 MOVBS.P (R2), R1
-d010f2e1| 1 plan9 MOVBS.W (R2), R1
-d012d2e1| 1 plan9 MOVBS 0x20(R2), R1
-d012d2e0| 1 plan9 MOVBS.P 0x20(R2), R1
-d012f2e1| 1 plan9 MOVBS.W 0x20(R2), R1
-d01252e1| 1 plan9 MOVBS -0x20(R2), R1
-d01252e0| 1 plan9 MOVBS.P -0x20(R2), R1
-d01272e1| 1 plan9 MOVBS.W -0x20(R2), R1
-0010d2e5| 1 plan9 MOVBU (R2), R1
-0010dfe5| 1 plan9 MOVBU (R15), R1
-0020dfe5| 1 plan9 MOVBU (R15), R2
-0010d2e4| 1 plan9 MOVBU.P (R2), R1
-0010f2e5| 1 plan9 MOVBU.W (R2), R1
-2010d2e5| 1 plan9 MOVBU 0x20(R2), R1
-2010d2e4| 1 plan9 MOVBU.P 0x20(R2), R1
-2010f2e5| 1 plan9 MOVBU.W 0x20(R2), R1
-201052e5| 1 plan9 MOVBU -0x20(R2), R1
-201052e4| 1 plan9 MOVBU.P -0x20(R2), R1
-201072e5| 1 plan9 MOVBU.W -0x20(R2), R1
-202ec1e7| 1 plan9 MOVB R2, (R1)(R0>>28)
-002ec1e7| 1 plan9 MOVB R2, (R1)(R0<<28)
-402ec1e7| 1 plan9 MOVB R2, (R1)(R0->28)
-602ec1e7| 1 plan9 MOVB R2, (R1)(R0@>28)
-202e41e7| 1 plan9 MOVB.U R2, (R1)(R0>>28)
-002e41e7| 1 plan9 MOVB.U R2, (R1)(R0<<28)
-402e41e7| 1 plan9 MOVB.U R2, (R1)(R0->28)
-602e41e7| 1 plan9 MOVB.U R2, (R1)(R0@>28)
-202ee1e7| 1 plan9 MOVB.W R2, (R1)(R0>>28)
-002ee1e7| 1 plan9 MOVB.W R2, (R1)(R0<<28)
-402ee1e7| 1 plan9 MOVB.W R2, (R1)(R0->28)
-602ee1e7| 1 plan9 MOVB.W R2, (R1)(R0@>28)
-202e61e7| 1 plan9 MOVB.W.U R2, (R1)(R0>>28)
-002e61e7| 1 plan9 MOVB.W.U R2, (R1)(R0<<28)
-402e61e7| 1 plan9 MOVB.W.U R2, (R1)(R0->28)
-602e61e7| 1 plan9 MOVB.W.U R2, (R1)(R0@>28)
-202ec5e6| 1 plan9 MOVB.P R2, (R5)(R0>>28)
-002ec5e6| 1 plan9 MOVB.P R2, (R5)(R0<<28)
-402ec5e6| 1 plan9 MOVB.P R2, (R5)(R0->28)
-602ec5e6| 1 plan9 MOVB.P R2, (R5)(R0@>28)
-202ed1e7| 1 plan9 MOVBU (R1)(R0>>28), R2
-002ed1e7| 1 plan9 MOVBU (R1)(R0<<28), R2
-402ed1e7| 1 plan9 MOVBU (R1)(R0->28), R2
-602ed1e7| 1 plan9 MOVBU (R1)(R0@>28), R2
-202e51e7| 1 plan9 MOVBU.U (R1)(R0>>28), R2
-002e51e7| 1 plan9 MOVBU.U (R1)(R0<<28), R2
-402e51e7| 1 plan9 MOVBU.U (R1)(R0->28), R2
-602e51e7| 1 plan9 MOVBU.U (R1)(R0@>28), R2
-202ef1e7| 1 plan9 MOVBU.W (R1)(R0>>28), R2
-002ef1e7| 1 plan9 MOVBU.W (R1)(R0<<28), R2
-402ef1e7| 1 plan9 MOVBU.W (R1)(R0->28), R2
-602ef1e7| 1 plan9 MOVBU.W (R1)(R0@>28), R2
-202e71e7| 1 plan9 MOVBU.W.U (R1)(R0>>28), R2
-002e71e7| 1 plan9 MOVBU.W.U (R1)(R0<<28), R2
-402e71e7| 1 plan9 MOVBU.W.U (R1)(R0->28), R2
-602e71e7| 1 plan9 MOVBU.W.U (R1)(R0@>28), R2
-202edae6| 1 plan9 MOVBU.P (R10)(R0>>28), R2
-002edae6| 1 plan9 MOVBU.P (R10)(R0<<28), R2
-402edae6| 1 plan9 MOVBU.P (R10)(R0->28), R2
-602edae6| 1 plan9 MOVBU.P (R10)(R0@>28), R2
-d02091e1| 1 plan9 MOVBS (R1)(R0), R2
-d02011e1| 1 plan9 MOVBS.U (R1)(R0), R2
-d020b1e1| 1 plan9 MOVBS.W (R1)(R0), R2
-d02091e0| 1 plan9 MOVBS.P (R1)(R0), R2
-b040c3e1| 1 plan9 MOVH R4, (R3)
-b032c4e1| 1 plan9 MOVH R3, 0x20(R4)
-b032e4e1| 1 plan9 MOVH.W R3, 0x20(R4)
-b032c4e0| 1 plan9 MOVH.P R3, 0x20(R4)
-b03244e1| 1 plan9 MOVH R3, -0x20(R4)
-b03264e1| 1 plan9 MOVH.W R3, -0x20(R4)
-b03244e0| 1 plan9 MOVH.P R3, -0x20(R4)
-b080d9e1| 1 plan9 MOVHU (R9), R8
-b080f9e1| 1 plan9 MOVHU.W (R9), R8
-b080d9e0| 1 plan9 MOVHU.P (R9), R8
-f080d9e1| 1 plan9 MOVHS (R9), R8
-f080f9e1| 1 plan9 MOVHS.W (R9), R8
-f080d9e0| 1 plan9 MOVHS.P (R9), R8
-b282d9e1| 1 plan9 MOVHU 0x22(R9), R8
-b282f9e1| 1 plan9 MOVHU.W 0x22(R9), R8
-b282d9e0| 1 plan9 MOVHU.P 0x22(R9), R8
-f282d9e1| 1 plan9 MOVHS 0x22(R9), R8
-f282f9e1| 1 plan9 MOVHS.W 0x22(R9), R8
-f282d9e0| 1 plan9 MOVHS.P 0x22(R9), R8
-b48259e1| 1 plan9 MOVHU -0x24(R9), R8
-b48279e1| 1 plan9 MOVHU.W -0x24(R9), R8
-b48259e0| 1 plan9 MOVHU.P -0x24(R9), R8
-f48259e1| 1 plan9 MOVHS -0x24(R9), R8
-f48279e1| 1 plan9 MOVHS.W -0x24(R9), R8
-f48259e0| 1 plan9 MOVHS.P -0x24(R9), R8
-002a310e| 1 plan9 ADDF.EQ F0, F1, F2
-202a310e| 1 plan9 ADDF.EQ S1, F1, F2
-802a31ee| 1 plan9 ADDF F0, S3, F2
-002a71ee| 1 plan9 ADDF F0, F1, S5
-035b340e| 1 plan9 ADDD.EQ F3, F4, F5
-002a321e| 1 plan9 ADDF.NE F0, F2, F2
-035b35ee| 1 plan9 ADDD F3, F5, F5
-402a31ee| 1 plan9 SUBF F0, F1, F2
-602a31ee| 1 plan9 SUBF S1, F1, F2
-c02a31ee| 1 plan9 SUBF F0, S3, F2
-402a71ee| 1 plan9 SUBF F0, F1, S5
-435b340e| 1 plan9 SUBD.EQ F3, F4, F5
-402a321e| 1 plan9 SUBF.NE F0, F2, F2
-435b35ee| 1 plan9 SUBD F3, F5, F5
-002a21ee| 1 plan9 MULF F0, F1, F2
-202a21ee| 1 plan9 MULF S1, F1, F2
-802a21ee| 1 plan9 MULF F0, S3, F2
-002a61ee| 1 plan9 MULF F0, F1, S5
-035b240e| 1 plan9 MULD.EQ F3, F4, F5
-002a221e| 1 plan9 MULF.NE F0, F2, F2
-035b25ee| 1 plan9 MULD F3, F5, F5
-402a21ee| 1 plan9 NMULF F0, F1, F2
-602a21ee| 1 plan9 NMULF S1, F1, F2
-c02a21ee| 1 plan9 NMULF F0, S3, F2
-402a61ee| 1 plan9 NMULF F0, F1, S5
-435b240e| 1 plan9 NMULD.EQ F3, F4, F5
-402a221e| 1 plan9 NMULF.NE F0, F2, F2
-435b25ee| 1 plan9 NMULD F3, F5, F5
-002a01ee| 1 plan9 MULAF F0, F1, F2
-202a01ee| 1 plan9 MULAF S1, F1, F2
-802a01ee| 1 plan9 MULAF F0, S3, F2
-002a41ee| 1 plan9 MULAF F0, F1, S5
-035b040e| 1 plan9 MULAD.EQ F3, F4, F5
-002a021e| 1 plan9 MULAF.NE F0, F2, F2
-035b05ee| 1 plan9 MULAD F3, F5, F5
-402a01ee| 1 plan9 MULSF F0, F1, F2
-602a01ee| 1 plan9 MULSF S1, F1, F2
-c02a01ee| 1 plan9 MULSF F0, S3, F2
-402a41ee| 1 plan9 MULSF F0, F1, S5
-435b040e| 1 plan9 MULSD.EQ F3, F4, F5
-402a021e| 1 plan9 MULSF.NE F0, F2, F2
-435b05ee| 1 plan9 MULSD F3, F5, F5
-002a11ee| 1 plan9 NMULSF F0, F1, F2
-202a11ee| 1 plan9 NMULSF S1, F1, F2
-802a11ee| 1 plan9 NMULSF F0, S3, F2
-002a51ee| 1 plan9 NMULSF F0, F1, S5
-035b140e| 1 plan9 NMULSD.EQ F3, F4, F5
-002a121e| 1 plan9 NMULSF.NE F0, F2, F2
-035b15ee| 1 plan9 NMULSD F3, F5, F5
-402a11ee| 1 plan9 NMULAF F0, F1, F2
-602a11ee| 1 plan9 NMULAF S1, F1, F2
-c02a11ee| 1 plan9 NMULAF F0, S3, F2
-402a51ee| 1 plan9 NMULAF F0, F1, S5
-435b140e| 1 plan9 NMULAD.EQ F3, F4, F5
-402a121e| 1 plan9 NMULAF.NE F0, F2, F2
-435b15ee| 1 plan9 NMULAD F3, F5, F5
-002a81ee| 1 plan9 DIVF F0, F1, F2
-202a81ee| 1 plan9 DIVF S1, F1, F2
-802a81ee| 1 plan9 DIVF F0, S3, F2
-002ac1ee| 1 plan9 DIVF F0, F1, S5
-035b840e| 1 plan9 DIVD.EQ F3, F4, F5
-002a821e| 1 plan9 DIVF.NE F0, F2, F2
-035b85ee| 1 plan9 DIVD F3, F5, F5
-401ab1ee| 1 plan9 NEGF F0, F1
-601ab1ee| 1 plan9 NEGF S1, F1
-401af1ee| 1 plan9 NEGF F0, S3
-445bb1ee| 1 plan9 NEGD F4, F5
-c01ab0ee| 1 plan9 ABSF F0, F1
-e01ab0ee| 1 plan9 ABSF S1, F1
-c01af0ee| 1 plan9 ABSF F0, S3
-c45bb0ee| 1 plan9 ABSD F4, F5
-c01ab1ee| 1 plan9 SQRTF F0, F1
-e01ab1ee| 1 plan9 SQRTF S1, F1
-c01af1ee| 1 plan9 SQRTF F0, S3
-c45bb1ee| 1 plan9 SQRTD F4, F5
-c01ab7ee| 1 plan9 MOVFD F0, F1
-c45bb7ee| 1 plan9 MOVDF F4, F5
-c89ab4ee| 1 plan9 CMPF F8, F9
-c45bb42e| 1 plan9 CMPD.CS F4, F5
-c07ab56e| 1 plan9 CMPF.VS $0, F7
-c06bb5ee| 1 plan9 CMPD $0, F6
-9f9f98e1| 1 plan9 LDREX (R8), R9
-9f9fd8e1| 1 plan9 LDREXB (R8), R9
-9f9ff8e1| 1 plan9 LDREXH (R8), R9
-9fcfbbe1| 1 gnu ldrexd ip, [fp]
-935f84e1| 1 plan9 STREX R3, (R4), R5
-935fc4e1| 1 plan9 STREXB R3, (R4), R5
-935fe4e1| 1 plan9 STREXH R3, (R4), R5
-98afa9e1| 1 gnu strexd sl, r8, [r9]
-104b08ee| 1 plan9 MOVW R4, F8
-108b14ee| 1 plan9 MOVW F4, R8
-104a080e| 1 plan9 MOVW.EQ R4, F8
-104a181e| 1 plan9 MOVW.NE F8, R4
-904a181e| 1 plan9 MOVW.NE S17, R4
-445ab0ee| 1 plan9 MOVF F4, F5
-467bb0ee| 1 plan9 MOVD F6, F7
-c68abdee| 1 plan9 MOVFW F6, F8
-c68abcee| 1 plan9 MOVFW.U F6, F8
-c68bbdee| 1 plan9 MOVDW F6, F8
-c68bbcee| 1 plan9 MOVDW.U F6, F8
-c68ab8ee| 1 plan9 MOVWF F6, F8
-468ab8ee| 1 plan9 MOVWF.U F6, F8
-c68bb8ee| 1 plan9 MOVWD F6, F8
-468bb8ee| 1 plan9 MOVWD.U F6, F8
-000000ea| 1 plan9 B 0x8
-feffffea| 1 plan9 B 0x0
-fcffffea| 1 plan9 B 0xfffffff8
-1f90cfe7| 1 plan9 BFC $16, $0, R9
-9fb4dee7| 1 plan9 BFC $22, $9, R11
-1790cfe7| 1 plan9 BFI $16, $0, R7, R9
-98b4dee7| 1 plan9 BFI $22, $9, R8, R11
-742321e1| 1 plan9 BKPT $4660
-000000eb| 1 plan9 BL 0x8
-feffffeb| 1 plan9 BL 0x0
-fcffffeb| 1 plan9 BL 0xfffffff8
-000000fa| 1 plan9 BLX 0x8
-fefffffa| 1 plan9 BLX 0x0
-fcfffffa| 1 plan9 BLX 0xfffffff8
-33ff2fe1| 1 plan9 BLX R3
-13ff2fe1| 1 plan9 BX R3
-23ff2fe1| 1 plan9 BXJ R3
-1ff07ff5| 1 plan9 CLREX
-f7f020e3| 1 gnu dbg #7
-58f07ff5| 1 gnu dmb #8
-49f07ff5| 1 gnu dsb #9
-62f07ff5| 1 gnu isb #2
-009a94ed| 1 plan9 MOVF (R4), F9
-009ad4ed| 1 plan9 MOVF (R4), S19
-009b940d| 1 plan9 MOVD.EQ (R4), F9
-003a9a1d| 1 plan9 MOVF.NE (R10), F3
-003ada1d| 1 plan9 MOVF.NE (R10), S7
-003b9aed| 1 plan9 MOVD (R10), F3
-089a93ed| 1 plan9 MOVF 0x20(R3), F9
-089ad3ed| 1 plan9 MOVF 0x20(R3), S19
-089b940d| 1 plan9 MOVD.EQ 0x20(R4), F9
-083a1a1d| 1 plan9 MOVF.NE -0x20(R10), F3
-083a5a1d| 1 plan9 MOVF.NE -0x20(R10), S7
-083b1aed| 1 plan9 MOVD -0x20(R10), F3
-009a84ed| 1 plan9 MOVF F9, (R4)
-009ac4ed| 1 plan9 MOVF S19, (R4)
-009b840d| 1 plan9 MOVD.EQ F9, (R4)
-003a8a1d| 1 plan9 MOVF.NE F3, (R10)
-003aca1d| 1 plan9 MOVF.NE S7, (R10)
-003b8aed| 1 plan9 MOVD F3, (R10)
-089a83ed| 1 plan9 MOVF F9, 0x20(R3)
-089ac3ed| 1 plan9 MOVF S19, 0x20(R3)
-089b840d| 1 plan9 MOVD.EQ F9, 0x20(R4)
-083a0a1d| 1 plan9 MOVF.NE F3, -0x20(R10)
-083a4a1d| 1 plan9 MOVF.NE S7, -0x20(R10)
-083b0aed| 1 plan9 MOVD F3, -0x20(R10)
-d060c8e1| 1 gnu ldrd r6, [r8]
-d06048e1| 1 gnu ldrd r6, [r8]
-d060e8e1| 1 gnu ldrd r6, [r8, #0]!
-d06068e1| 1 gnu ldrd r6, [r8, #0]!
-d060c8e0| 1 gnu ldrd r6, [r8], #0
-d06048e0| 1 gnu ldrd r6, [r8], #0
-d062c8e1| 1 gnu ldrd r6, [r8, #32]
-d06248e1| 1 gnu ldrd r6, [r8, #-32]
-d062e8e1| 1 gnu ldrd r6, [r8, #32]!
-d06268e1| 1 gnu ldrd r6, [r8, #-32]!
-d062c8e0| 1 gnu ldrd r6, [r8], #32
-d06248e0| 1 gnu ldrd r6, [r8], #-32
-d24089e1| 1 gnu ldrd r4, [r9, r2]
-d240a9e1| 1 gnu ldrd r4, [r9, r2]!
-d24009e1| 1 gnu ldrd r4, [r9, -r2]
-d24029e1| 1 gnu ldrd r4, [r9, -r2]!
-f060c8e1| 1 gnu strd r6, [r8]
-f06048e1| 1 gnu strd r6, [r8]
-f060e8e1| 1 gnu strd r6, [r8, #0]!
-f06068e1| 1 gnu strd r6, [r8, #0]!
-f060c8e0| 1 gnu strd r6, [r8], #0
-f06048e0| 1 gnu strd r6, [r8], #0
-f062c8e1| 1 gnu strd r6, [r8, #32]
-f06248e1| 1 gnu strd r6, [r8, #-32]
-f062e8e1| 1 gnu strd r6, [r8, #32]!
-f06268e1| 1 gnu strd r6, [r8, #-32]!
-f062c8e0| 1 gnu strd r6, [r8], #32
-f06248e0| 1 gnu strd r6, [r8], #-32
-f24089e1| 1 gnu strd r4, [r9, r2]
-f240a9e1| 1 gnu strd r4, [r9, r2]!
-f24009e1| 1 gnu strd r4, [r9, -r2]
-f24029e1| 1 gnu strd r4, [r9, -r2]!
-0010b2e4| 1 gnu ldrt r1, [r2], #0
-2010b2e4| 1 gnu ldrt r1, [r2], #32
-201032e4| 1 gnu ldrt r1, [r2], #-32
-0040bde4| 1 gnu ldrt r4, [sp], #0
-2040bde4| 1 gnu ldrt r4, [sp], #32
-20403de4| 1 gnu ldrt r4, [sp], #-32
-2314b2e6| 1 gnu ldrt r1, [r2], r3, lsr #8
-0314b2e6| 1 gnu ldrt r1, [r2], r3, lsl #8
-4314b2e6| 1 gnu ldrt r1, [r2], r3, asr #8
-6314b2e6| 1 gnu ldrt r1, [r2], r3, ror #8
-231432e6| 1 gnu ldrt r1, [r2], -r3, lsr #8
-031432e6| 1 gnu ldrt r1, [r2], -r3, lsl #8
-431432e6| 1 gnu ldrt r1, [r2], -r3, asr #8
-631432e6| 1 gnu ldrt r1, [r2], -r3, ror #8
-0010a2e4| 1 gnu strt r1, [r2], #0
-2010a2e4| 1 gnu strt r1, [r2], #32
-201022e4| 1 gnu strt r1, [r2], #-32
-0040ade4| 1 gnu strt r4, [sp], #0
-2040ade4| 1 gnu strt r4, [sp], #32
-20402de4| 1 gnu strt r4, [sp], #-32
-2314a2e6| 1 gnu strt r1, [r2], r3, lsr #8
-0314a2e6| 1 gnu strt r1, [r2], r3, lsl #8
-4314a2e6| 1 gnu strt r1, [r2], r3, asr #8
-6314a2e6| 1 gnu strt r1, [r2], r3, ror #8
-231422e6| 1 gnu strt r1, [r2], -r3, lsr #8
-031422e6| 1 gnu strt r1, [r2], -r3, lsl #8
-431422e6| 1 gnu strt r1, [r2], -r3, asr #8
-631422e6| 1 gnu strt r1, [r2], -r3, ror #8
-0010f2e4| 1 gnu ldrbt r1, [r2], #0
-2010f2e4| 1 gnu ldrbt r1, [r2], #32
-201072e4| 1 gnu ldrbt r1, [r2], #-32
-0040fde4| 1 gnu ldrbt r4, [sp], #0
-2040fde4| 1 gnu ldrbt r4, [sp], #32
-20407de4| 1 gnu ldrbt r4, [sp], #-32
-2314f2e6| 1 gnu ldrbt r1, [r2], r3, lsr #8
-0314f2e6| 1 gnu ldrbt r1, [r2], r3, lsl #8
-4314f2e6| 1 gnu ldrbt r1, [r2], r3, asr #8
-6314f2e6| 1 gnu ldrbt r1, [r2], r3, ror #8
-231472e6| 1 gnu ldrbt r1, [r2], -r3, lsr #8
-031472e6| 1 gnu ldrbt r1, [r2], -r3, lsl #8
-431472e6| 1 gnu ldrbt r1, [r2], -r3, asr #8
-631472e6| 1 gnu ldrbt r1, [r2], -r3, ror #8
-0010e2e4| 1 gnu strbt r1, [r2], #0
-2010e2e4| 1 gnu strbt r1, [r2], #32
-201062e4| 1 gnu strbt r1, [r2], #-32
-0040ede4| 1 gnu strbt r4, [sp], #0
-2040ede4| 1 gnu strbt r4, [sp], #32
-20406de4| 1 gnu strbt r4, [sp], #-32
-2314e2e6| 1 gnu strbt r1, [r2], r3, lsr #8
-0314e2e6| 1 gnu strbt r1, [r2], r3, lsl #8
-4314e2e6| 1 gnu strbt r1, [r2], r3, asr #8
-6314e2e6| 1 gnu strbt r1, [r2], r3, ror #8
-231462e6| 1 gnu strbt r1, [r2], -r3, lsr #8
-031462e6| 1 gnu strbt r1, [r2], -r3, lsl #8
-431462e6| 1 gnu strbt r1, [r2], -r3, asr #8
-631462e6| 1 gnu strbt r1, [r2], -r3, ror #8
-d010f2e0| 1 gnu ldrsbt r1, [r2], #0
-d012f2e0| 1 gnu ldrsbt r1, [r2], #32
-d01272e0| 1 gnu ldrsbt r1, [r2], #-32
-d040fde0| 1 gnu ldrsbt r4, [sp], #0
-d042fde0| 1 gnu ldrsbt r4, [sp], #32
-d0427de0| 1 gnu ldrsbt r4, [sp], #-32
-d310b2e0| 1 gnu ldrsbt r1, [r2], r3
-d640bde0| 1 gnu ldrsbt r4, [sp], r6
-d31032e0| 1 gnu ldrsbt r1, [r2], -r3
-d6403de0| 1 gnu ldrsbt r4, [sp], -r6
-b010f2e0| 1 gnu ldrht r1, [r2], #0
-b012f2e0| 1 gnu ldrht r1, [r2], #32
-b01272e0| 1 gnu ldrht r1, [r2], #-32
-b040fde0| 1 gnu ldrht r4, [sp], #0
-b042fde0| 1 gnu ldrht r4, [sp], #32
-b0427de0| 1 gnu ldrht r4, [sp], #-32
-b310b2e0| 1 gnu ldrht r1, [r2], r3
-b640bde0| 1 gnu ldrht r4, [sp], r6
-b31032e0| 1 gnu ldrht r1, [r2], -r3
-b6403de0| 1 gnu ldrht r4, [sp], -r6
-f010f2e0| 1 gnu ldrsht r1, [r2], #0
-f012f2e0| 1 gnu ldrsht r1, [r2], #32
-f01272e0| 1 gnu ldrsht r1, [r2], #-32
-f040fde0| 1 gnu ldrsht r4, [sp], #0
-f042fde0| 1 gnu ldrsht r4, [sp], #32
-f0427de0| 1 gnu ldrsht r4, [sp], #-32
-f310b2e0| 1 gnu ldrsht r1, [r2], r3
-f640bde0| 1 gnu ldrsht r4, [sp], r6
-f31032e0| 1 gnu ldrsht r1, [r2], -r3
-f6403de0| 1 gnu ldrsht r4, [sp], -r6
-b010f2e0| 1 gnu ldrht r1, [r2], #0
-b012f2e0| 1 gnu ldrht r1, [r2], #32
-b01272e0| 1 gnu ldrht r1, [r2], #-32
-b040fde0| 1 gnu ldrht r4, [sp], #0
-b042fde0| 1 gnu ldrht r4, [sp], #32
-b0427de0| 1 gnu ldrht r4, [sp], #-32
-b310b2e0| 1 gnu ldrht r1, [r2], r3
-b640bde0| 1 gnu ldrht r4, [sp], r6
-b31032e0| 1 gnu ldrht r1, [r2], -r3
-b6403de0| 1 gnu ldrht r4, [sp], -r6
-b010e2e0| 1 gnu strht r1, [r2], #0
-b012e2e0| 1 gnu strht r1, [r2], #32
-b01262e0| 1 gnu strht r1, [r2], #-32
-b040ede0| 1 gnu strht r4, [sp], #0
-b042ede0| 1 gnu strht r4, [sp], #32
-b0426de0| 1 gnu strht r4, [sp], #-32
-b310a2e0| 1 gnu strht r1, [r2], r3
-b640ade0| 1 gnu strht r4, [sp], r6
-b31022e0| 1 gnu strht r1, [r2], -r3
-b6402de0| 1 gnu strht r4, [sp], -r6
-00f020e3| 1 plan9 NOP
-445ab0ee| 1 plan9 MOVF F4, F5
-645af0ee| 1 plan9 MOVF S9, S11
-467bb0ee| 1 plan9 MOVD F6, F7
-104b08ee| 1 plan9 MOVW R4, F8
-104b28ee| 1 plan9 MOVW R4, D8[1]
-108b14ee| 1 plan9 MOVW F4, R8
-108b34ee| 1 plan9 MOVW D4[1], R8
-c68abdee| 1 plan9 MOVFW F6, F8
-e68afdee| 1 plan9 MOVFW S13, S17
-c68abcee| 1 plan9 MOVFW.U F6, F8
-e68afcee| 1 plan9 MOVFW.U S13, S17
-c68bbdee| 1 plan9 MOVDW F6, F8
-c68bfdee| 1 plan9 MOVDW F6, S17
-c68bbcee| 1 plan9 MOVDW.U F6, F8
-c68bfcee| 1 plan9 MOVDW.U F6, S17
-c68ab8ee| 1 plan9 MOVWF F6, F8
-e68af8ee| 1 plan9 MOVWF S13, S17
-468ab8ee| 1 plan9 MOVWF.U F6, F8
-668af8ee| 1 plan9 MOVWF.U S13, S17
-c68bb8ee| 1 plan9 MOVWD F6, F8
-e68bb8ee| 1 plan9 MOVWD S13, F8
-468bb8ee| 1 plan9 MOVWD.U F6, F8
-668bb8ee| 1 plan9 MOVWD.U S13, F8
-c01ab7ee| 1 plan9 MOVFD F0, F1
-e01ab7ee| 1 plan9 MOVFD S1, F1
-c45bb7ee| 1 plan9 MOVDF F4, F5
-c65bf7ee| 1 plan9 MOVDF F6, S11
-102083e6| 1 gnu pkhbt r2, r3, r0
-102283e6| 1 gnu pkhbt r2, r3, r0, lsl #4
-502083e6| 1 gnu pkhtb r2, r3, r0, asr #32
-d02083e6| 1 gnu pkhtb r2, r3, r0, asr #1
-502283e6| 1 gnu pkhtb r2, r3, r0, asr #4
-faaf2de9| 1 gnu push {r1, r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
-04202de5| 1 gnu push {r2}
-faafbde8| 1 gnu pop {r1, r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
-04209de4| 1 gnu pop {r2}
-556003e1| 1 gnu qadd r6, r5, r3
-156f28e6| 1 gnu qadd16 r6, r8, r5
-956f28e6| 1 gnu qadd8 r6, r8, r5
-550044e1| 1 gnu qdadd r0, r5, r4
-550066e1| 1 gnu qdsub r0, r5, r6
-156f68e6| 1 gnu uqadd16 r6, r8, r5
-956f68e6| 1 gnu uqadd8 r6, r8, r5
-356f28e6| 1 gnu qasx r6, r8, r5
-556f28e6| 1 gnu qsax r6, r8, r5
-356f64e6| 1 gnu uqasx r6, r4, r5
-553f64e6| 1 gnu uqsax r3, r4, r5
-556022e1| 1 gnu qsub r6, r5, r2
-774f21e6| 1 gnu qsub16 r4, r1, r7
-f74f21e6| 1 gnu qsub8 r4, r1, r7
-774f61e6| 1 gnu uqsub16 r4, r1, r7
-f74f61e6| 1 gnu uqsub8 r4, r1, r7
-6670a0e1| 1 gnu rrx r7, r6
-6670b0e1| 1 gnu rrxs r7, r6
-112f13e6| 1 gnu sadd16 r2, r3, r1
-992f13e6| 1 gnu sadd8 r2, r3, r9
-112f33e6| 1 gnu shadd16 r2, r3, r1
-992f33e6| 1 gnu shadd8 r2, r3, r9
-712f13e6| 1 gnu ssub16 r2, r3, r1
-f92f13e6| 1 gnu ssub8 r2, r3, r9
-712f33e6| 1 gnu shsub16 r2, r3, r1
-f92f33e6| 1 gnu shsub8 r2, r3, r9
-112f53e6| 1 gnu uadd16 r2, r3, r1
-992f53e6| 1 gnu uadd8 r2, r3, r9
-112f73e6| 1 gnu uhadd16 r2, r3, r1
-992f73e6| 1 gnu uhadd8 r2, r3, r9
-712f53e6| 1 gnu usub16 r2, r3, r1
-f92f53e6| 1 gnu usub8 r2, r3, r9
-712f73e6| 1 gnu uhsub16 r2, r3, r1
-f92f73e6| 1 gnu uhsub8 r2, r3, r9
-332f14e6| 1 gnu sasx r2, r4, r3
-532f14e6| 1 gnu ssax r2, r4, r3
-332f54e6| 1 gnu uasx r2, r4, r3
-532f54e6| 1 gnu usax r2, r4, r3
-332f34e6| 1 gnu shasx r2, r4, r3
-532f34e6| 1 gnu shsax r2, r4, r3
-332f74e6| 1 gnu uhasx r2, r4, r3
-532f74e6| 1 gnu uhsax r2, r4, r3
-dc51afe7| 1 plan9 SBFX $16, $3, R12, R5
-dc51efe7| 1 plan9 UBFX $16, $3, R12, R5
-b12f88e6| 1 gnu sel r2, r8, r1
-000201f1| 1 gnu setend be
-000001f1| 1 gnu setend le
-04f020e3| 1 gnu sev
-1155aae6| 1 gnu ssat r5, #11, r1, lsl #10
-5155aae6| 1 gnu ssat r5, #11, r1, asr #10
-335faae6| 1 gnu ssat16 r5, #11, r3
-1155eae6| 1 gnu usat r5, #10, r1, lsl #10
-5155eae6| 1 gnu usat r5, #10, r1, asr #10
-335feae6| 1 gnu usat16 r5, #10, r3
-7788a9e6| 1 plan9 SXTAB R7@>$16, R9, R8
-778889e6| 1 plan9 SXTAB16 R7@>$16, R9, R8
-7788b9e6| 1 plan9 SXTAH R7@>$16, R9, R8
-7784afe6| 1 plan9 MOVBS R7@>$8, R8
-778c8fe6| 1 plan9 SXTB16 R7@>$24, R8
-7780bf16| 1 plan9 MOVHS.NE R7, R8
-7788e906| 1 plan9 UXTAB.EQ R7@>$16, R9, R8
-7788c9e6| 1 plan9 UXTAB16 R7@>$16, R9, R8
-7788f9e6| 1 plan9 UXTAH R7@>$16, R9, R8
-7784efe6| 1 plan9 MOVBU R7@>$8, R8
-778ccfe6| 1 plan9 UXTB16 R7@>$24, R8
-7780ffe6| 1 plan9 MOVHU R7, R8
-11f288e7| 1 gnu usad8 r8, r1, r2
-112388e7| 1 gnu usada8 r8, r1, r3, r2
-02f020e3| 1 gnu wfe
-03f020e3| 1 gnu wfi
-01f020e3| 1 gnu yield
diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/decode_test.go b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/decode_test.go
deleted file mode 100644
index 9c7d2b62d5..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/decode_test.go
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package arm64asm
-
-import (
- "encoding/hex"
- "io/ioutil"
- "path/filepath"
- "strings"
- "testing"
-)
-
-func testDecode(t *testing.T, syntax string) {
- input := filepath.Join("testdata", syntax+"cases.txt")
- data, err := ioutil.ReadFile(input)
- if err != nil {
- t.Fatal(err)
- }
- all := string(data)
- for strings.Contains(all, "\t\t") {
- all = strings.Replace(all, "\t\t", "\t", -1)
- }
- for _, line := range strings.Split(all, "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.SplitN(line, "\t", 2)
- i := strings.Index(f[0], "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f[0])
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f[0])
- }
- code, err := hex.DecodeString(f[0][:i] + f[0][i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f[0], err)
- continue
- }
- asm := f[1]
- inst, decodeErr := Decode(code)
- if decodeErr != nil && decodeErr != errUnknown {
- // Some rarely used system instructions are not supported
- // Following logicals will filter such unknown instructions
-
- t.Errorf("parsing %x: %s", code, decodeErr)
- continue
- }
- var out string
- switch syntax {
- case "gnu":
- out = GNUSyntax(inst)
- case "plan9":
- out = GoSyntax(inst, 0, nil, nil)
- default:
- t.Errorf("unknown syntax %q", syntax)
- continue
- }
- // TODO: system instruction.
- var Todo = strings.Fields(`
- sys
- dc
- at
- tlbi
- ic
- hvc
- smc
- `)
- if strings.Replace(out, " ", "", -1) != strings.Replace(asm, " ", "", -1) && !hasPrefix(asm, Todo...) {
- // Exclude MSR since GNU objdump result is incorrect. eg. 0xd504431f msr s0_4_c4_c3_0, xzr
- if !strings.HasSuffix(asm, " nv") && !strings.HasPrefix(asm, "msr") {
- t.Errorf("Decode(%s) [%s] = %s, want %s", strings.Trim(f[0], "|"), syntax, out, asm)
- }
- }
- }
-}
-
-func TestDecodeGNUSyntax(t *testing.T) {
- testDecode(t, "gnu")
-}
-
-func TestDecodeGoSyntax(t *testing.T) {
- testDecode(t, "plan9")
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/ext_test.go b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/ext_test.go
deleted file mode 100644
index f432203e15..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/ext_test.go
+++ /dev/null
@@ -1,604 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Support for testing against external disassembler program.
-// Copied and simplified from ../../arm/armasm/ext_test.go.
-
-package arm64asm
-
-import (
- "bufio"
- "bytes"
- "encoding/hex"
- "encoding/json"
- "flag"
- "fmt"
- "io"
- "io/ioutil"
- "log"
- "math/rand"
- "os"
- "os/exec"
- "path/filepath"
- "regexp"
- "strconv"
- "strings"
- "testing"
- "time"
-)
-
-var (
- dumpTest = flag.Bool("dump", false, "dump all encodings")
- mismatch = flag.Bool("mismatch", false, "log allowed mismatches")
- longTest = flag.Bool("long", false, "long test")
- keep = flag.Bool("keep", false, "keep object files around")
- debug = false
-)
-
-// An ExtInst represents a single decoded instruction parsed
-// from an external disassembler's output.
-type ExtInst struct {
- addr uint64
- enc [4]byte
- nenc int
- text string
-}
-
-func (r ExtInst) String() string {
- return fmt.Sprintf("%#x: % x: %s", r.addr, r.enc, r.text)
-}
-
-// An ExtDis is a connection between an external disassembler and a test.
-type ExtDis struct {
- Arch Mode
- Dec chan ExtInst
- File *os.File
- Size int
- KeepFile bool
- Cmd *exec.Cmd
-}
-
-// InstJson describes instruction fields value got from ARMv8-A Reference Manual
-type InstJson struct {
- Name string
- Bits string
- Arch string
- Syntax string
- Code string
- Alias string
- Enc uint32
-}
-
-// A Mode is an instruction execution mode.
-type Mode int
-
-const (
- _ Mode = iota
- ModeARM64
-)
-
-// Run runs the given command - the external disassembler - and returns
-// a buffered reader of its standard output.
-func (ext *ExtDis) Run(cmd ...string) (*bufio.Reader, error) {
- if *keep {
- log.Printf("%s\n", strings.Join(cmd, " "))
- }
- ext.Cmd = exec.Command(cmd[0], cmd[1:]...)
- out, err := ext.Cmd.StdoutPipe()
- if err != nil {
- return nil, fmt.Errorf("stdoutpipe: %v", err)
- }
- if err := ext.Cmd.Start(); err != nil {
- return nil, fmt.Errorf("exec: %v", err)
- }
-
- b := bufio.NewReaderSize(out, 1<<20)
- return b, nil
-}
-
-// Wait waits for the command started with Run to exit.
-func (ext *ExtDis) Wait() error {
- return ext.Cmd.Wait()
-}
-
-// testExtDis tests a set of byte sequences against an external disassembler.
-// The disassembler is expected to produce the given syntax and run
-// in the given architecture mode (16, 32, or 64-bit).
-// The extdis function must start the external disassembler
-// and then parse its output, sending the parsed instructions on ext.Dec.
-// The generate function calls its argument f once for each byte sequence
-// to be tested. The generate function itself will be called twice, and it must
-// make the same sequence of calls to f each time.
-// When a disassembly does not match the internal decoding,
-// allowedMismatch determines whether this mismatch should be
-// allowed, or else considered an error.
-func testExtDis(
- t *testing.T,
- syntax string,
- arch Mode,
- extdis func(ext *ExtDis) error,
- generate func(f func([]byte)),
- allowedMismatch func(text string, inst *Inst, dec ExtInst) bool,
-) {
- start := time.Now()
- ext := &ExtDis{
- Dec: make(chan ExtInst),
- Arch: arch,
- }
- errc := make(chan error)
-
- // First pass: write instructions to input file for external disassembler.
- file, f, size, err := writeInst(generate)
- if err != nil {
- t.Fatal(err)
- }
- ext.Size = size
- ext.File = f
- defer func() {
- f.Close()
- if !*keep {
- os.Remove(file)
- }
- }()
-
- // Second pass: compare disassembly against our decodings.
- var (
- totalTests = 0
- totalSkips = 0
- totalErrors = 0
-
- errors = make([]string, 0, 100) // Sampled errors, at most cap
- )
- go func() {
- errc <- extdis(ext)
- }()
-
- generate(func(enc []byte) {
- dec, ok := <-ext.Dec
- if !ok {
- t.Errorf("decoding stream ended early")
- return
- }
- inst, text := disasm(syntax, pad(enc))
-
- totalTests++
- if *dumpTest {
- fmt.Printf("%x -> %s [%d]\n", enc[:len(enc)], dec.text, dec.nenc)
- }
- if text != dec.text && !strings.Contains(dec.text, "unknown") && syntax == "gnu" {
- suffix := ""
- if allowedMismatch(text, &inst, dec) {
- totalSkips++
- if !*mismatch {
- return
- }
- suffix += " (allowed mismatch)"
- }
- totalErrors++
- cmp := fmt.Sprintf("decode(%x) = %q, %d, want %q, %d%s\n", enc, text, len(enc), dec.text, dec.nenc, suffix)
-
- if len(errors) >= cap(errors) {
- j := rand.Intn(totalErrors)
- if j >= cap(errors) {
- return
- }
- errors = append(errors[:j], errors[j+1:]...)
- }
- errors = append(errors, cmp)
- }
- })
-
- if *mismatch {
- totalErrors -= totalSkips
- }
-
- for _, b := range errors {
- t.Log(b)
- }
-
- if totalErrors > 0 {
- t.Fail()
- }
- t.Logf("%d test cases, %d expected mismatches, %d failures; %.0f cases/second", totalTests, totalSkips, totalErrors, float64(totalTests)/time.Since(start).Seconds())
- t.Logf("decoder coverage: %.1f%%;\n", decodeCoverage())
- if err := <-errc; err != nil {
- t.Fatalf("external disassembler: %v", err)
- }
-
-}
-
-// Start address of text.
-const start = 0x8000
-
-// writeInst writes the generated byte sequences to a new file
-// starting at offset start. That file is intended to be the input to
-// the external disassembler.
-func writeInst(generate func(func([]byte))) (file string, f *os.File, size int, err error) {
- f, err = ioutil.TempFile("", "arm64asm")
- if err != nil {
- return
- }
-
- file = f.Name()
-
- f.Seek(start, io.SeekStart)
- w := bufio.NewWriter(f)
- defer w.Flush()
- size = 0
- generate(func(x []byte) {
- if debug {
- fmt.Printf("%#x: %x%x\n", start+size, x, zeros[len(x):])
- }
- w.Write(x)
- w.Write(zeros[len(x):])
- size += len(zeros)
- })
- return file, f, size, nil
-}
-
-var zeros = []byte{0, 0, 0, 0}
-
-// pad pads the code sequence with pops.
-func pad(enc []byte) []byte {
- if len(enc) < 4 {
- enc = append(enc[:len(enc):len(enc)], zeros[:4-len(enc)]...)
- }
- return enc
-}
-
-// disasm returns the decoded instruction and text
-// for the given source bytes, using the given syntax and mode.
-func disasm(syntax string, src []byte) (inst Inst, text string) {
- var err error
- inst, err = Decode(src)
- if err != nil {
- text = "error: " + err.Error()
- return
- }
- text = inst.String()
- switch syntax {
- case "gnu":
- text = GNUSyntax(inst)
- case "plan9": // [sic]
- text = GoSyntax(inst, 0, nil, nil)
- default:
- text = "error: unknown syntax " + syntax
- }
- return
-}
-
-// decodecoverage returns a floating point number denoting the
-// decoder coverage.
-func decodeCoverage() float64 {
- n := 0
- for _, t := range decoderCover {
- if t {
- n++
- }
- }
- return 100 * float64(1+n) / float64(1+len(decoderCover))
-}
-
-// Helpers for writing disassembler output parsers.
-
-// hasPrefix reports whether any of the space-separated words in the text s
-// begins with any of the given prefixes.
-func hasPrefix(s string, prefixes ...string) bool {
- for _, prefix := range prefixes {
- for cur_s := s; cur_s != ""; {
- if strings.HasPrefix(cur_s, prefix) {
- return true
- }
- i := strings.Index(cur_s, " ")
- if i < 0 {
- break
- }
- cur_s = cur_s[i+1:]
- }
- }
- return false
-}
-
-// isHex reports whether b is a hexadecimal character (0-9a-fA-F).
-func isHex(b byte) bool {
- return ('0' <= b && b <= '9') || ('a' <= b && b <= 'f') || ('A' <= b && b <= 'F')
-}
-
-// parseHex parses the hexadecimal byte dump in hex,
-// appending the parsed bytes to raw and returning the updated slice.
-// The returned bool reports whether any invalid hex was found.
-// Spaces and tabs between bytes are okay but any other non-hex is not.
-func parseHex(hex []byte, raw []byte) ([]byte, bool) {
- hex = bytes.TrimSpace(hex)
- for j := 0; j < len(hex); {
- for hex[j] == ' ' || hex[j] == '\t' {
- j++
- }
- if j >= len(hex) {
- break
- }
- if j+2 > len(hex) || !isHex(hex[j]) || !isHex(hex[j+1]) {
- return nil, false
- }
- raw = append(raw, unhex(hex[j])<<4|unhex(hex[j+1]))
- j += 2
- }
- return raw, true
-}
-
-func unhex(b byte) byte {
- if '0' <= b && b <= '9' {
- return b - '0'
- } else if 'A' <= b && b <= 'F' {
- return b - 'A' + 10
- } else if 'a' <= b && b <= 'f' {
- return b - 'a' + 10
- }
- return 0
-}
-
-// index is like bytes.Index(s, []byte(t)) but avoids the allocation.
-func index(s []byte, t string) int {
- i := 0
- for {
- j := bytes.IndexByte(s[i:], t[0])
- if j < 0 {
- return -1
- }
- i = i + j
- if i+len(t) > len(s) {
- return -1
- }
- for k := 1; k < len(t); k++ {
- if s[i+k] != t[k] {
- goto nomatch
- }
- }
- return i
- nomatch:
- i++
- }
-}
-
-// fixSpace rewrites runs of spaces, tabs, and newline characters into single spaces in s.
-// If s must be rewritten, it is rewritten in place.
-func fixSpace(s []byte) []byte {
- s = bytes.TrimSpace(s)
- for i := 0; i < len(s); i++ {
- if s[i] == '\t' || s[i] == '\n' || i > 0 && s[i] == ' ' && s[i-1] == ' ' {
- goto Fix
- }
- }
- return s
-
-Fix:
- b := s
- w := 0
- for i := 0; i < len(s); i++ {
- c := s[i]
- if c == '\t' || c == '\n' {
- c = ' '
- }
- if c == ' ' && w > 0 && b[w-1] == ' ' {
- continue
- }
- b[w] = c
- w++
- }
- if w > 0 && b[w-1] == ' ' {
- w--
- }
- return b[:w]
-}
-
-// Fllowing regular expressions matches instructions using relative addressing mode.
-// pcrel matches B instructions and BL instructions.
-// pcrelr matches instrucions which consisted of register arguments and label arguments.
-// pcrelim matches instructions which consisted of register arguments, immediate
-// arguments and lable arguments.
-// pcrelrzr and prcelimzr matches instructions when register arguments is zero register.
-// pcrelprfm matches PRFM instructions when arguments consisted of register and lable.
-// pcrelprfmim matches PRFM instructions when arguments consisted of immediate and lable.
-var (
- pcrel = regexp.MustCompile(`^((?:.* )?(?:b|bl)x?(?:\.)?(?:eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|nv)?) 0x([0-9a-f]+)$`)
- pcrelr = regexp.MustCompile(`^((?:.*)?(?:ldr|adrp|adr|cbnz|cbz|ldrsw) (?:x|w|s|d|q)(?:[0-9]+,)) 0x([0-9a-f]+)$`)
- pcrelrzr = regexp.MustCompile(`^((?:.*)?(?:ldr|adrp|adr|cbnz|cbz|ldrsw) (?:x|w)zr,) 0x([0-9a-f]+)$`)
- pcrelim = regexp.MustCompile(`^((?:.*)?(?:tbnz|tbz) (?:x|w)(?:[0-9]+,) (?:#[0-9a-f]+,)) 0x([0-9a-f]+)$`)
- pcrelimzr = regexp.MustCompile(`^((?:.*)?(?:tbnz|tbz) (?:x|w)zr, (?:#[0-9a-f]+,)) 0x([0-9a-f]+)$`)
- pcrelprfm = regexp.MustCompile(`^((?:.*)?(?:prfm) (?:[0-9a-z]+,)) 0x([0-9a-f]+)$`)
- pcrelprfmim = regexp.MustCompile(`^((?:.*)?(?:prfm) (?:#0x[0-9a-f]+,)) 0x([0-9a-f]+)$`)
-)
-
-// Round is the multiple of the number of instructions that read from Json file.
-// Round used as seed value for pseudo-random number generator provides the same sequence
-// in the same round run for the external disassembler and decoder.
-var Round int
-
-// condmark is used to mark conditional instructions when need to generate and test
-// conditional instructions.
-var condmark bool = false
-
-// Generate instruction binary according to Json file
-// Encode variable field of instruction with random value
-func doFuzzy(inst *InstJson, Ninst int) {
- var testdata uint32
- var NonDigRE = regexp.MustCompile(`[\D]`)
- rand.Seed(int64(Round + Ninst))
- off := 0
- DigBit := ""
- if condmark == true && !strings.Contains(inst.Bits, "cond") {
- inst.Enc = 0xffffffff
- } else {
- for _, f := range strings.Split(inst.Bits, "|") {
- if i := strings.Index(f, ":"); i >= 0 {
- // consider f contains "01:2" and "Rm:5"
- DigBit = f[:i]
- m := NonDigRE.FindStringSubmatch(DigBit)
- if m == nil {
- DigBit = strings.TrimSpace(DigBit)
- s := strings.Split(DigBit, "")
- for i := 0; i < len(s); i++ {
- switch s[i] {
- case "1", "(1)":
- testdata |= 1 << uint(31-off)
- }
- off++
- }
- } else {
- // DigBit is "Rn" or "imm3"
- n, _ := strconv.Atoi(f[i+1:])
- if DigBit == "cond" && condmark == true {
- r := uint8(Round)
- for i := n - 1; i >= 0; i-- {
- switch (r >> uint(i)) & 1 {
- case 1:
- testdata |= 1 << uint(31-off)
- }
- off++
- }
- } else {
- for i := 0; i < n; i++ {
- r := rand.Intn(2)
- switch r {
- case 1:
- testdata |= 1 << uint(31-off)
- }
- off++
- }
- }
- }
- continue
- }
- for _, bit := range strings.Fields(f) {
- switch bit {
- case "0", "(0)":
- off++
- continue
- case "1", "(1)":
- testdata |= 1 << uint(31-off)
- default:
- r := rand.Intn(2)
- switch r {
- case 1:
- testdata |= 1 << uint(31-off)
- }
- }
- off++
- }
- }
- if off != 32 {
- log.Printf("incorrect bit count for %s %s: have %d", inst.Name, inst.Bits, off)
- }
- inst.Enc = testdata
- }
-}
-
-// Generators.
-//
-// The test cases are described as functions that invoke a callback repeatedly,
-// with a new input sequence each time. These helpers make writing those
-// a little easier.
-
-// JSONCases generates ARM64 instructions according to inst.json.
-func JSONCases(t *testing.T) func(func([]byte)) {
- return func(try func([]byte)) {
- data, err := ioutil.ReadFile("inst.json")
- if err != nil {
- t.Fatal(err)
- }
- var insts []InstJson
- var instsN []InstJson
- // Change N value to get more cases only when condmark=false.
- N := 100
- if condmark == true {
- N = 16
- }
- if err := json.Unmarshal(data, &insts); err != nil {
- t.Fatal(err)
- }
- // Append instructions to get more test cases.
- for i := 0; i < N; {
- for _, inst := range insts {
- instsN = append(instsN, inst)
- }
- i++
- }
- Round = 0
- for i := range instsN {
- if i%len(insts) == 0 {
- Round++
- }
- doFuzzy(&instsN[i], i)
- }
- for _, inst := range instsN {
- if condmark == true && inst.Enc == 0xffffffff {
- continue
- }
- enc := inst.Enc
- try([]byte{byte(enc), byte(enc >> 8), byte(enc >> 16), byte(enc >> 24)})
- }
- }
-}
-
-// condCases generates conditional instructions.
-func condCases(t *testing.T) func(func([]byte)) {
- return func(try func([]byte)) {
- condmark = true
- JSONCases(t)(func(enc []byte) {
- try(enc)
- })
- }
-}
-
-// hexCases generates the cases written in hexadecimal in the encoded string.
-// Spaces in 'encoded' separate entire test cases, not individual bytes.
-func hexCases(t *testing.T, encoded string) func(func([]byte)) {
- return func(try func([]byte)) {
- for _, x := range strings.Fields(encoded) {
- src, err := hex.DecodeString(x)
- if err != nil {
- t.Errorf("parsing %q: %v", x, err)
- }
- try(src)
- }
- }
-}
-
-// testdataCases generates the test cases recorded in testdata/cases.txt.
-// It only uses the inputs; it ignores the answers recorded in that file.
-func testdataCases(t *testing.T, syntax string) func(func([]byte)) {
- var codes [][]byte
- input := filepath.Join("testdata", syntax+"cases.txt")
- data, err := ioutil.ReadFile(input)
- if err != nil {
- t.Fatal(err)
- }
- for _, line := range strings.Split(string(data), "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.Fields(line)[0]
- i := strings.Index(f, "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f)
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f)
- }
- code, err := hex.DecodeString(f[:i] + f[i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f, err)
- continue
- }
- codes = append(codes, code)
- }
-
- return func(try func([]byte)) {
- for _, code := range codes {
- try(code)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go
deleted file mode 100644
index 3baf8a19dd..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdump_test.go
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package arm64asm
-
-import (
- "strings"
- "testing"
-)
-
-func TestObjdumpARM64TestDecodeGNUSyntaxdata(t *testing.T) {
- testObjdumpARM64(t, testdataCases(t, "gnu"))
-}
-func TestObjdumpARM64TestDecodeGoSyntaxdata(t *testing.T) {
- testObjdumpARM64(t, testdataCases(t, "plan9"))
-}
-func TestObjdumpARM64Manual(t *testing.T) { testObjdumpARM64(t, hexCases(t, objdumpManualTests)) }
-func TestObjdumpARM64Cond(t *testing.T) { testObjdumpARM64(t, condCases(t)) }
-func TestObjdumpARM64(t *testing.T) { testObjdumpARM64(t, JSONCases(t)) }
-
-// objdumpManualTests holds test cases that will be run by TestObjdumpARMManual.
-// If you are debugging a few cases that turned up in a longer run, it can be useful
-// to list them here and then use -run=Manual, particularly with tracing enabled.
-// Note that these are byte sequences, so they must be reversed from the usual
-// word presentation.
-var objdumpManualTests = `
-bf2003d5
-9f2003d5
-7f2003d5
-5f2003d5
-3f2003d5
-1f2003d5
-df4d03d5
-ff4d03d5
-28d91b14
-da6cb530
-15e5e514
-ff4603d5
-df4803d5
-bf4100d5
-9f3f03d5
-9f3e03d5
-9f3d03d5
-9f3b03d5
-9f3a03d5
-9f3903d5
-9f3703d5
-9f3603d5
-9f3503d5
-9f3303d5
-9f3203d5
-9f3103d5
-ff4603d5
-df4803d5
-bf4100d5
-a3681b53
-47dc78d3
-0500a012
-0500e092
-0500a052
-0500a0d2
-cd5a206e
-cd5a202e
-743d050e
-743d0a0e
-743d0c0e
-743d084e
-`
-
-// allowedMismatchObjdump reports whether the mismatch between text and dec
-// should be allowed by the test.
-func allowedMismatchObjdump(text string, inst *Inst, dec ExtInst) bool {
- // Skip unsupported instructions
- if hasPrefix(dec.text, todo...) {
- return true
- }
- // GNU objdump has incorrect alias conditions for following instructions
- if inst.Enc&0x000003ff == 0x000003ff && hasPrefix(dec.text, "negs") && hasPrefix(text, "cmp") {
- return true
- }
- // GNU objdump "NV" is equal to our "AL"
- if strings.HasSuffix(dec.text, " nv") && strings.HasSuffix(text, " al") {
- return true
- }
- if strings.HasPrefix(dec.text, "b.nv") && strings.HasPrefix(text, "b.al") {
- return true
- }
- // GNU objdump recognizes invalid binaries as following instructions
- if hasPrefix(dec.text, "hint", "mrs", "msr", "bfc", "orr", "mov") {
- return true
- }
- if strings.HasPrefix(text, "hint") {
- return true
- }
- // GNU objdump recognizes reserved valuse as valid ones
- if strings.Contains(text, "unknown instruction") && hasPrefix(dec.text, "fmla", "fmul", "fmulx", "fcvtzs", "fcvtzu", "fmls", "fmov", "scvtf", "ucvtf") {
- return true
- }
- // Some old objdump recognizes ldur*/stur*/prfum as ldr*/str*/prfm
- for k, v := range oldObjdumpMismatch {
- if strings.HasPrefix(dec.text, k) && strings.Replace(dec.text, k, v, 1) == text {
- return true
- }
- }
- // New objdump supports some newer mnemonics than this package. This
- // package should be updated to support the new mnemonics and the sense
- // of this reversed to continue passing with older objdumps but that
- // requires internal ARM tooling.
- if newForm, ok := newMnemonics[text]; ok && newForm == dec.text {
- return true
- }
- // GNU objdump misses spaces between operands for some instructions (e.g., "ld1 {v10.2s, v11.2s}, [x23],#16")
- if strings.Replace(text, " ", "", -1) == strings.Replace(dec.text, " ", "", -1) {
- return true
- }
- return false
-}
-
-// TODO: system instruction.
-var todo = strings.Fields(`
- sys
- dc
- at
- tlbi
- ic
- hvc
- smc
-`)
-
-// Following instructions can't be covered because they are just aliases to another instructions which are always preferred
-var Ncover = strings.Fields(`
- sbfm
- asrv
- bfm
- ubfm
- lslv
- lsrv
- rorv
- ins
- dup
-`)
-
-// Some old objdump wrongly decodes following instructions and allow their mismatches to avoid false alarm
-var oldObjdumpMismatch = map[string]string{
- //oldObjValue correctValue
- "ldr": "ldur",
- "ldrb": "ldurb",
- "ldrh": "ldurh",
- "ldrsb": "ldursb",
- "ldrsh": "ldursh",
- "ldrsw": "ldursw",
- "str": "stur",
- "strb": "sturb",
- "strh": "sturh",
- "prfm": "prfum",
-}
-
-var newMnemonics = map[string]string{
- "dsb #0x00": "ssbb",
- "dsb #0x04": "pssbb",
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdumpext_test.go b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdumpext_test.go
deleted file mode 100644
index 3bf4fa8539..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/objdumpext_test.go
+++ /dev/null
@@ -1,299 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Copied and simplified from ../../arm/armasm/objdumpext_test.go.
-
-package arm64asm
-
-import (
- "bytes"
- "debug/elf"
- "encoding/binary"
- "fmt"
- "io"
- "log"
- "os"
- "os/exec"
- "strconv"
- "strings"
- "testing"
-)
-
-const objdumpPath = "/usr/bin/objdump"
-
-func testObjdumpARM64(t *testing.T, generate func(func([]byte))) {
- testObjdumpArch(t, generate, ModeARM64)
-}
-
-func testObjdumpArch(t *testing.T, generate func(func([]byte)), arch Mode) {
- checkObjdumpAarch64(t)
- testExtDis(t, "gnu", arch, objdump, generate, allowedMismatchObjdump)
- testExtDis(t, "plan9", arch, objdump, generate, allowedMismatchObjdump)
-}
-
-func checkObjdumpAarch64(t *testing.T) {
- out, err := exec.Command(objdumpPath, "-i").Output()
- if err != nil {
- t.Skipf("cannot run objdump: %v\n%s", err, out)
- }
- if !strings.Contains(string(out), "aarch64") {
- t.Skip("objdump does not have aarch64 support")
- }
-}
-
-func objdump(ext *ExtDis) error {
- // File already written with instructions; add ELF header.
- if ext.Arch == ModeARM64 {
- if err := writeELF64(ext.File, ext.Size); err != nil {
- return err
- }
- } else {
- panic("unknown arch")
- }
-
- b, err := ext.Run(objdumpPath, "-d", "-z", ext.File.Name())
- if err != nil {
- return err
- }
-
- var (
- nmatch int
- reading bool
- next uint64 = start
- addr uint64
- encbuf [4]byte
- enc []byte
- text string
- )
- flush := func() {
- if addr == next {
- // PC-relative addresses are translated to absolute addresses based on PC by GNU objdump
- // Following logical rewrites the absolute addresses back to PC-relative ones for comparing
- // with our disassembler output which are PC-relative
-
- if m := pcrelprfmim.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
- }
- if m := pcrelprfm.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
- }
- if m := pcrelim.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
- }
- if m := pcrelimzr.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
- }
- if m := pcrelr.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- if strings.Contains(m[1], "adrp") {
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr&0xfffff000)))
- } else {
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
- }
- }
- if m := pcrelrzr.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- if strings.Contains(m[1], "adrp") {
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr&0xfffff000)))
- } else {
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
- }
- }
- if m := pcrel.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
- }
- if strings.HasPrefix(text, "mov") && strings.Contains(text, "//") {
- s := strings.Split(text, " //")
- text = s[0]
- }
- text = strings.Replace(text, "#0.0", "#0", -1)
- if text == "undefined" && len(enc) == 4 {
- text = "error: unknown instruction"
- enc = nil
- }
- if len(enc) == 4 {
- // prints as word but we want to record bytes
- enc[0], enc[3] = enc[3], enc[0]
- enc[1], enc[2] = enc[2], enc[1]
- }
- ext.Dec <- ExtInst{addr, encbuf, len(enc), text}
- encbuf = [4]byte{}
- enc = nil
- next += 4
- }
- }
- var textangle = []byte("<.text>:")
- for {
- line, err := b.ReadSlice('\n')
- if err != nil {
- if err == io.EOF {
- break
- }
- return fmt.Errorf("reading objdump output: %v", err)
- }
- if bytes.Contains(line, textangle) {
- reading = true
- continue
- }
- if !reading {
- continue
- }
- if debug {
- os.Stdout.Write(line)
- }
- if enc1 := parseContinuation(line, encbuf[:len(enc)]); enc1 != nil {
- enc = enc1
- continue
- }
- flush()
- nmatch++
- addr, enc, text = parseLine(line, encbuf[:0])
- if addr > next {
- return fmt.Errorf("address out of sync expected <= %#x at %q in:\n%s", next, line, line)
- }
- }
- flush()
- if next != start+uint64(ext.Size) {
- return fmt.Errorf("not enough results found [%d %d]", next, start+ext.Size)
- }
- if err := ext.Wait(); err != nil {
- return fmt.Errorf("exec: %v", err)
- }
-
- return nil
-}
-
-var (
- undefined = []byte("undefined")
- unpredictable = []byte("unpredictable")
- slashslash = []byte("//")
-)
-
-func parseLine(line []byte, encstart []byte) (addr uint64, enc []byte, text string) {
- ok := false
- oline := line
- i := index(line, ":\t")
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- x, err := strconv.ParseUint(string(bytes.TrimSpace(line[:i])), 16, 32)
- if err != nil {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- addr = uint64(x)
- line = line[i+2:]
- i = bytes.IndexByte(line, '\t')
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- enc, ok = parseHex(line[:i], encstart)
- if !ok {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- line = bytes.TrimSpace(line[i:])
- if bytes.Contains(line, undefined) {
- text = "undefined"
- return
- }
- if false && bytes.Contains(line, unpredictable) {
- text = "unpredictable"
- return
- }
- // Strip trailing comment starting with ';'
- // e.g: "csinv x23, x2, x19, cc ; xxx"
- if i := bytes.IndexByte(line, ';'); i >= 0 {
- line = bytes.TrimSpace(line[:i])
- }
- // Strip trailing comment starting with "//"
- // e.g: "fccmpe s2, s9, #0x7, ne // xxx"
- if i := bytes.Index(line, slashslash); i >= 0 {
- line = bytes.TrimSpace(line[:i])
- }
- text = string(fixSpace(line))
- return
-}
-
-func parseContinuation(line []byte, enc []byte) []byte {
- i := index(line, ":\t")
- if i < 0 {
- return nil
- }
- line = line[i+1:]
- enc, _ = parseHex(line, enc)
- return enc
-}
-
-// writeELF64 writes an ELF64 header to the file, describing a text
-// segment that starts at start (0x8000) and extends for size bytes.
-func writeELF64(f *os.File, size int) error {
- f.Seek(0, io.SeekStart)
- var hdr elf.Header64
- var prog elf.Prog64
- var sect elf.Section64
- var buf bytes.Buffer
- binary.Write(&buf, binary.LittleEndian, &hdr)
- off1 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &prog)
- off2 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &sect)
- off3 := buf.Len()
- buf.Reset()
- data := byte(elf.ELFDATA2LSB)
- hdr = elf.Header64{
- Ident: [16]byte{0x7F, 'E', 'L', 'F', 2, data, 1},
- Type: 2,
- Machine: uint16(elf.EM_AARCH64),
- Version: 1,
- Entry: start,
- Phoff: uint64(off1),
- Shoff: uint64(off2),
- Flags: 0x05000002,
- Ehsize: uint16(off1),
- Phentsize: uint16(off2 - off1),
- Phnum: 1,
- Shentsize: uint16(off3 - off2),
- Shnum: 3,
- Shstrndx: 2,
- }
- binary.Write(&buf, binary.LittleEndian, &hdr)
- prog = elf.Prog64{
- Type: 1,
- Off: start,
- Vaddr: start,
- Paddr: start,
- Filesz: uint64(size),
- Memsz: uint64(size),
- Flags: 5,
- Align: start,
- }
- binary.Write(&buf, binary.LittleEndian, &prog)
- binary.Write(&buf, binary.LittleEndian, &sect) // NULL section
- sect = elf.Section64{
- Name: 1,
- Type: uint32(elf.SHT_PROGBITS),
- Addr: start,
- Off: start,
- Size: uint64(size),
- Flags: uint64(elf.SHF_ALLOC | elf.SHF_EXECINSTR),
- Addralign: 4,
- }
- binary.Write(&buf, binary.LittleEndian, &sect) // .text
- sect = elf.Section64{
- Name: uint32(len("\x00.text\x00")),
- Type: uint32(elf.SHT_STRTAB),
- Addr: 0,
- Off: uint64(off2 + (off3-off2)*3),
- Size: uint64(len("\x00.text\x00.shstrtab\x00")),
- Addralign: 1,
- }
- binary.Write(&buf, binary.LittleEndian, &sect)
- buf.WriteString("\x00.text\x00.shstrtab\x00")
- f.Write(buf.Bytes())
- return nil
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/Makefile b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/Makefile
deleted file mode 100644
index 9ff54a6e16..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-go test command:
- cd ..; go test -run 'ObjdumpARM64Cond' -v -timeout 10h -long 2>&1 | tee log
- cd ..; go test -run 'ObjdumpARM64TestGUNSyntaxdata' -v -timeout 10h -long 2>&1 | tee -a log
- cd ..; go test -run 'ObjdumpARM64TestGoSyntaxdata' -v -timeout 10h -long 2>&1 | tee -a log
- cd ..; go test -run 'ObjdumpARM64' -v -timeout 10h -long 2>&1 | tee -a log
- cd ..; go test -run 'ObjdumpARM64Manual' -v -timeout 10h -long 2>&1 | tee -a log
- cd ..; go test -run 'TestDecodeGNUSyntax'
- cd ..; go test -run 'TestDecodeGoSyntax'
- cd ..; go test -run '.*'
diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/gnucases.txt b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/gnucases.txt
deleted file mode 100644
index 2154209960..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/gnucases.txt
+++ /dev/null
@@ -1,4651 +0,0 @@
-0a011f1a| adc w10, w8, wzr
-4c00009a| adc x12, x2, x0
-a602093a| adcs w6, w21, w9
-d60217ba| adcs x22, x22, x23
-0921250b| add w9, w8, w5, uxth
-ee9e288b| add x14, x23, w8, sxtb #7
-23123011| add w3, w17, #0xc04
-2ba32391| add x11, x25, #0x8e8
-67158d0b| add w7, w11, w13, asr #5
-30da198b| add x16, x17, x25, lsl #54
-a7e72c2b| adds w7, w29, w12, sxtx #1
-357338ab| adds x21, x25, x24, uxtx #4
-6b147731| adds w11, w3, #0xdc5, lsl #12
-cd59872b| adds w13, w14, w7, asr #22
-e41f4eab| adds x4, xzr, x14, lsr #7
-b7dd8470| adr x23, .+0xfffffffffff09bb7
-0f4996d0| adrp x15, .+0xffffffff2c922000
-a2432412| and w2, w29, #0xf0001fff
-93910e92| and x19, x12, #0x7c007c007c007c
-7a1ec98a| and x26, x19, x9, ror #7
-1ff32972| tst w24, #0xaaaaaaaa
-458051f2| ands x5, x2, #0xffff80000000ffff
-af629a6a| ands w15, w21, w26, asr #24
-7ab0dfea| ands x26, x3, xzr, ror #44
-792bcc1a| asr w25, w27, w12
-872bce9a| asr x7, x28, x14
-99ff4b93| asr x25, x28, #11
-1628c91a| asr w22, w0, w9
-4e2acf9a| asr x14, x18, x15
-4be5a454| b.lt .+0xfffffffffff49ca8
-53257114| b .+0x1c4954c
-dbb557b3| bfxil x27, x14, #23, #23
-70e861b3| bfxil x16, x3, #33, #26
-88a75ab3| bfxil x8, x28, #26, #16
-b03ce70a| bic w16, w5, w7, ror #15
-9235ec8a| bic x18, x12, x12, ror #13
-7450b96a| bics w20, w3, w25, asr #20
-3730b3ea| bics x23, x1, x19, asr #12
-9b897797| bl .+0xfffffffffdde266c
-e0013fd6| blr x15
-a0031fd6| br x29
-e08c31d4| brk #0x8c67
-027eb435| cbnz w2, .+0xfffffffffff68fc0
-c7eb42b5| cbnz x7, .+0x85d78
-8f1d4c34| cbz w15, .+0x983b0
-e1c5abb4| cbz x1, .+0xfffffffffff578bc
-4bfb543a| ccmn w26, #0x14, #0xb, al
-015b46ba| ccmn x24, #0x6, #0x1, pl
-8602463a| ccmn w20, w6, #0x6, eq
-c6d34cba| ccmn x30, x12, #0x6, le
-a76b4f7a| ccmp w29, #0xf, #0x7, vs
-e3d853fa| ccmp x7, #0x13, #0x3, le
-4022467a| ccmp w18, w6, #0x0, cs
-c7b346fa| ccmp x30, x6, #0x7, lt
-ee279b1a| csinc w14, wzr, w27, cs
-4174819a| csinc x1, x2, x1, vc
-5100955a| csinv w17, w2, w21, eq
-573093da| csinv x23, x2, x19, cc
-5f3403d5| clrex #0x4
-e615c05a| cls w6, w15
-ff15c0da| cls xzr, x15
-2e10c05a| clz w14, w1
-a912c0da| clz x9, x21
-ff11352b| cmn w15, w21, uxtb #4
-1f5220ab| cmn x16, w0, uxtw #4
-ff02266b| cmp w23, w6, uxtb
-5fb739eb| cmp x26, w25, sxth #5
-bfa73bf1| cmp x29, #0xee9
-7f5c47eb| cmp x3, x7, lsr #23
-2e458e5a| csneg w14, w9, w14, mi
-c3559cda| csneg x3, x14, x28, pl
-1041d11a| crc32b w16, w8, w17
-bb46c31a| crc32h w27, w21, w3
-c94bd61a| crc32w w9, w30, w22
-8f4cd49a| crc32x w15, w4, x20
-7653d21a| crc32cb w22, w27, w18
-1454d51a| crc32ch w20, w0, w21
-7c58c91a| crc32cw w28, w3, w9
-185ccb9a| crc32cx w24, w0, x11
-8c30941a| csel w12, w4, w20, cc
-0ea08c9a| csel x14, x0, x12, ge
-e3b79f1a| cset w3, ge
-fea79f9a| cset x30, lt
-e5639f5a| csetm w5, vc
-e4739fda| csetm x4, vs
-bad4981a| csinc w26, w5, w24, le
-5167909a| csinc x17, x26, x16, vs
-65e3955a| csinv w5, w27, w21, al
-8e338bda| csinv x14, x28, x11, cc
-0a269d5a| csneg w10, w16, w29, cs
-ab1692da| csneg x11, x21, x18, ne
-418ea5d4| dcps1 #0x2c72
-6239a5d4| dcps2 #0x29cb
-e3ebabd4| dcps3 #0x5f5f
-bf3a03d5| dmb ishst
-e003bfd6| drps
-9f3003d5| dsb #0x00
-c974354a| eon w9, w6, w21, lsl #29
-89b86eca| eon x9, x4, x14, lsr #46
-76e343d2| eor x22, x27, #0xe03fffffffffffff
-536d8c4a| eor w19, w10, w12, asr #27
-d1ef1cca| eor x17, x30, x28, lsl #59
-e0039fd6| eret
-591d8813| extr w25, w10, w8, #7
-888dd693| extr x8, x12, x22, #35
-bf2003d5| sevl
-df2003d5| hint #0x6
-a0fc5fd4| hlt #0xffe5
-df3103d5| isb #0x1
-9dfddf88| ldar w29, [x12]
-76ffdfc8| ldar x22, [x27]
-36ffdf08| ldarb w22, [x25]
-bcfcdf48| ldarh w28, [x5]
-54c17f88| ldaxp w20, w16, [x10]
-3eaf7fc8| ldaxp x30, x11, [x25]
-e2fd5f88| ldaxr w2, [x15]
-f5fd5fc8| ldaxr x21, [x15]
-70fe5f08| ldaxrb w16, [x19]
-bcfc5f48| ldaxrh w28, [x5]
-ecff5928| ldnp w12, wzr, [sp,#204]
-852744a8| ldnp x5, x9, [x28,#64]
-1286d728| ldp w18, w1, [x16],#188
-7668e8a8| ldp x22, x26, [x3],#-384
-6d8bc729| ldp w13, w2, [x27,#60]!
-1cadd1a9| ldp x28, x11, [x8,#280]!
-bf4e7e29| ldp wzr, w19, [x21,#-16]
-61695fa9| ldp x1, x26, [x11,#496]
-4c00e668| ldpsw x12, x0, [x2],#-208
-85a0cb69| ldpsw x5, x8, [x4,#92]!
-9b894d69| ldpsw x27, x2, [x12,#108]
-e9955ab8| ldr w9, [x15],#-87
-5c255df8| ldr x28, [x10],#-46
-703c57b8| ldr w16, [x3,#-141]!
-1dac57f8| ldr x29, [x0,#-134]!
-393c50b9| ldr w25, [x1,#4156]
-498d5cf9| ldr x9, [x10,#14616]
-841fe218| ldr w4, .+0xfffffffffffc43f0
-cce88858| ldr x12, .+0xfffffffffff11d18
-72fa72b8| ldr w18, [x19,x18,sxtx #2]
-daeb66f8| ldr x26, [x30,x6,sxtx]
-8ca74238| ldrb w12, [x28],#42
-4e5c5e38| ldrb w14, [x2,#-27]!
-03936d39| ldrb w3, [x24,#2916]
-577a6e38| ldrb w23, [x18,x14,lsl #0]
-adb54678| ldrh w13, [x13],#107
-820f4c78| ldrh w2, [x28,#192]!
-92787579| ldrh w18, [x4,#6844]
-4bd6c438| ldrsb w11, [x18],#77
-fb478238| ldrsb x27, [sp],#36
-4d7edc38| ldrsb w13, [x18,#-57]!
-18ee9438| ldrsb x24, [x16,#-178]!
-16b9c639| ldrsb w22, [x8,#430]
-37958f39| ldrsb x23, [x9,#997]
-af7ae238| ldrsb w15, [x21,x2,lsl #0]
-1568fa38| ldrsb w21, [x0,x26]
-744bbf38| ldrsb x20, [x27,wzr,uxtw]
-f069a538| ldrsb x16, [x15,x5]
-d9a6cd78| ldrsh w25, [x22],#218
-ff368b78| ldrsh xzr, [x23],#179
-5b8cc878| ldrsh w27, [x2,#136]!
-361f9c78| ldrsh x22, [x25,#-63]!
-359bec79| ldrsh w21, [x25,#5708]
-4d6c8079| ldrsh x13, [x2,#54]
-9deae578| ldrsh w29, [x20,x5,sxtx]
-f2fab878| ldrsh x18, [x23,x24,sxtx #1]
-02669cb8| ldrsw x2, [x16],#-58
-5c8e92b8| ldrsw x28, [x18,#-216]!
-ea9e92b9| ldrsw x10, [x23,#4764]
-6e280c98| ldrsw x14, .+0x1850c
-49dabcb8| ldrsw x9, [x18,w28,sxtw #2]
-64285eb8| ldtr w4, [x3,#-30]
-6ab851f8| ldtr x10, [x3,#-229]
-aa094f38| ldtrb w10, [x13,#240]
-b7894e78| ldtrh w23, [x13,#232]
-85cadd38| ldtrsb w5, [x20,#-36]
-2db99838| ldtrsb x13, [x9,#-117]
-7ef8ce78| ldtrsh w30, [x3,#239]
-786a8978| ldtrsh x24, [x19,#150]
-c5eb81b8| ldtrsw x5, [x30,#30]
-a1f14bb8| ldur w1, [x13,#191]
-c3425cf8| ldur x3, [x22,#-60]
-2e125038| ldurb w14, [x17,#-255]
-26004878| ldurh w6, [x1,#128]
-c3e3cd38| ldursb w3, [x30,#222]
-27618938| ldursb x7, [x9,#150]
-7c71db78| ldursh w28, [x11,#-73]
-1d109e78| ldursh x29, [x0,#-31]
-d48084b8| ldursw x20, [x6,#72]
-172f7f88| ldxp w23, w11, [x24]
-10347fc8| ldxp x16, x13, [x0]
-fe7f5f88| ldxr w30, [sp]
-6c7f5fc8| ldxr x12, [x27]
-047c5f08| ldxrb w4, [x0]
-9a7d5f48| ldxrh w26, [x12]
-4f21cb1a| lsl w15, w10, w11
-1523db9a| lsl x21, x24, x27
-81c74fd3| ubfx x1, x28, #15, #35
-c922c81a| lsl w9, w22, w8
-fd22dc9a| lsl x29, x23, x28
-4226dd1a| lsr w2, w18, w29
-a224ca9a| lsr x2, x5, x10
-707c0153| lsr w16, w3, #1
-34fc4cd3| lsr x20, x1, #12
-6c24c91a| lsr w12, w3, w9
-8527c89a| lsr x5, x28, x8
-ea36171b| madd w10, w23, w23, w13
-e47a0a9b| madd x4, x23, x10, x30
-35fd001b| mneg w21, w9, w0
-77ff0e9b| mneg x23, x27, x14
-38030011| add w24, w25, #0x0
-37030091| add x23, x25, #0x0
-94b8ad12| mov w20, #0x923bffff
-fff29892| mov xzr, #0xffffffffffff3868
-d4adb252| mov w20, #0x956e0000
-8747e2d2| mov x7, #0x123c000000000000
-f5132d32| orr w21, wzr, #0xf80000
-eb7f34b2| mov x11, #0xffffffffffffffff
-f503092a| mov w21, w9
-e7031eaa| mov x7, x30
-35e8c1f2| movk x21, #0xf41, lsl #32
-44629512| mov w4, #0xffff54ed
-cc0dd392| mov x12, #0xffff6791ffffffff
-cbfb9152| mov w11, #0x8fde
-3d25ebd2| mov x29, #0x5929000000000000
-e67a3fd5| mrs x6, s3_7_c7_c10_7
-f9dd15d5| msr s2_5_c13_c13_7, x25
-25840c1b| msub w5, w1, w12, w1
-02ce1a9b| msub x2, x16, x26, x19
-b67c1a1b| mul w22, w5, w26
-607c049b| mul x0, x3, x4
-e97f6daa| mvn x9, x13, lsr #31
-fe071f6b| negs w30, wzr, lsl #1
-f68f14eb| negs x22, x20, lsl #35
-e8030d5a| ngc w8, w13
-fe031eda| ngc x30, x30
-e5030a7a| ngcs w5, w10
-f00318fa| ngcs x16, x24
-1f2003d5| nop
-032ee42a| orn w3, w16, w4, ror #11
-634cf6aa| orn x3, x3, x22, ror #19
-f8492d32| orr w24, w15, #0xfff8003f
-96f542b2| orr x22, x12, #0xcfffffffffffffff
-1c110d2a| orr w28, w8, w13, lsl #4
-c65b1eaa| orr x6, x30, x30, lsl #22
-f300b2f9| prfm pstl2strm, [x7,#25600]
-2aa196d8| prfm plil2keep, .+0xfffffffffff2d424
-2ad8bef8| prfm plil2keep, [x1,w30,sxtw #3]
-c62184f8| prfum #0x06, [x14,#66]
-3601c05a| rbit w22, w9
-6401c0da| rbit x4, x11
-e0035fd6| ret xzr
-0a09c05a| rev w10, w8
-220cc0da| rev x2, x1
-b206c05a| rev16 w18, w21
-2407c0da| rev16 x4, x25
-7e0bc0da| rev32 x30, x27
-ae0ec0da| rev x14, x21
-336f8413| extr w19, w25, w4, #27
-af47ca93| extr x15, x29, x10, #17
-bc2cdb1a| ror w28, w5, w27
-e52fdd9a| ror x5, xzr, x29
-832dc31a| ror w3, w12, w3
-e22ec09a| ror x2, x23, x0
-1801045a| sbc w24, w8, w4
-5a0119da| sbc x26, x10, x25
-52021b7a| sbcs w18, w18, w27
-250105fa| sbcs x5, x9, x5
-fc430b13| sbfx w28, wzr, #11, #6
-a0574093| sbfx x0, x29, #0, #22
-8b3b7a93| sbfiz x11, x28, #6, #15
-fc310513| sbfx w28, w15, #5, #8
-fbdc4293| sbfx x27, x7, #2, #54
-c90dd61a| sdiv w9, w14, w22
-a90ecd9a| sdiv x9, x21, x13
-9f2003d5| sev
-bf2003d5| sevl
-d27f229b| smull x18, w30, w2
-efff3a9b| smnegl x15, wzr, w26
-7d963f9b| smsubl x29, w19, wzr, x5
-b57e519b| smulh x21, x21, x17
-a07c209b| smull x0, w5, w0
-d0fe9f88| stlr w16, [x22]
-03ff9fc8| stlr x3, [x24]
-8bff9f08| stlrb w11, [x28]
-f0fe9f48| stlrh w16, [x23]
-c6ae3588| stlxp w21, w6, w11, [x22]
-c6fa22c8| stlxp w2, x6, x30, [x22]
-affd0e88| stlxr w14, w15, [x13]
-67ff1cc8| stlxr w28, x7, [x27]
-17ff1c08| stlxrb w28, w23, [x24]
-7bfe0b48| stlxrh w11, w27, [x19]
-2a8c0528| stnp w10, w3, [x1,#44]
-67fc10a8| stnp x7, xzr, [x3,#264]
-5559bd28| stp w21, w22, [x10],#-24
-166c96a8| stp x22, x27, [x0],#352
-3d4a8729| stp w29, w18, [x17,#56]!
-912f86a9| stp x17, x11, [x28,#96]!
-c40d3029| stp w4, w3, [x14,#-128]
-f73f39a9| stp x23, x15, [sp,#-112]
-34441eb8| str w20, [x1],#-28
-11f60bf8| str x17, [x16],#191
-c15d15b8| str w1, [x14,#-171]!
-ae4d12f8| str x14, [x13,#-220]!
-03ef39b9| str w3, [x24,#14828]
-208228f9| str x0, [x17,#20736]
-734823f8| str x19, [x3,w3,uxtw]
-ffb41838| strb wzr, [x7],#-117
-bb0d1a38| strb w27, [x13,#-96]!
-b1612239| strb w17, [x13,#2200]
-92682038| strb w18, [x4,x0]
-81682638| strb w1, [x4,x6]
-87841b78| strh w7, [x4],#-72
-cc3d1878| strh w12, [x14,#-125]!
-53cf1c79| strh w19, [x26,#3686]
-63792d78| strh w3, [x11,x13,lsl #1]
-9d7803b8| sttr w29, [x4,#55]
-b9c807f8| sttr x25, [x5,#124]
-f04a1e38| sttrb w16, [x23,#-28]
-52990078| sttrh w18, [x10,#9]
-152002b8| stur w21, [x0,#34]
-397217f8| stur x25, [x17,#-137]
-8f320138| sturb w15, [x20,#19]
-eb021b78| sturh w11, [x23,#-80]
-854a3f88| stxp wzr, w5, w18, [x20]
-d12620c8| stxp w0, x17, x9, [x22]
-537e0288| stxr w2, w19, [x18]
-af7d15c8| stxr w21, x15, [x13]
-e97c1d08| stxrb w29, w9, [x7]
-837d1b48| stxrh w27, w3, [x12]
-f25e344b| sub w18, w23, w20, uxtw #7
-3ac825cb| sub x26, x1, w5, sxtw #2
-e8f40ccb| sub x8, x7, x12, lsl #61
-a6ad226b| subs w6, w13, w2, sxth #3
-647735eb| subs x4, x27, x21, uxtx #5
-c770566b| subs w7, w6, w22, lsr #28
-d03c1aeb| subs x16, x6, x26, lsl #15
-a17f03d4| svc #0x1bfd
-991f0013| sxtb w25, w28
-a91d4093| sxtb x9, w13
-083d0013| sxth w8, w8
-393e4093| sxth x25, w17
-1b7c4093| sxtw x27, w0
-0c5b2cd5| sysl x12, #4, C5, C11, #0
-09868bb7| tbnz x9, #49, .+0x70c0
-8c2e6836| tbz w12, #13, .+0x5d0
-3f0d0172| tst w9, #0x80000007
-df6f7cf2| tst x30, #0xfffffff0
-1f2f11ea| tst x24, x17, lsl #11
-9ced71d3| ubfx x28, x12, #49, #11
-1cbb7fd3| ubfiz x28, x24, #1, #47
-25e661d3| ubfx x5, x17, #33, #25
-af0adc1a| udiv w15, w21, w28
-550ac29a| udiv x21, x18, x2
-9102b19b| umaddl x17, w20, w17, x0
-41fea39b| umnegl x1, w18, w3
-87d8a39b| umsubl x7, w4, w3, x22
-987ed89b| umulh x24, x20, x24
-d37eb29b| umull x19, w22, w18
-461c0053| uxtb w6, w2
-f43c0053| uxth w20, w7
-5f2003d5| wfe
-7f2003d5| wfi
-3f2003d5| yield
-e5bb200e| abs v5.8b, v31.8b
-c9842d0e| add v9.8b, v6.8b, v13.8b
-f4bd394e| addp v20.16b, v15.16b, v25.16b
-b3b8b14e| addv s19, v5.4s
-cd5b284e| aesd v13.16b, v30.16b
-4b4b284e| aese v11.16b, v26.16b
-2879284e| aesimc v8.16b, v9.16b
-fe68284e| aesmc v30.16b, v7.16b
-f61e334e| and v22.16b, v23.16b, v19.16b
-88a4002f| mvni v8.4h, #0x4, lsl #8
-1877076f| bic v24.4s, #0xf8, lsl #24
-0d1e6c0e| bic v13.8b, v16.8b, v12.8b
-b81ce26e| bif v24.16b, v5.16b, v2.16b
-381cbf2e| bit v24.8b, v1.8b, v31.8b
-cd1f6c6e| bsl v13.16b, v30.16b, v12.16b
-8d48a00e| cls v13.2s, v4.2s
-324ba02e| clz v18.2s, v25.2s
-c88f2b2e| cmeq v8.8b, v30.8b, v11.8b
-a799e05e| cmeq d7, d13, #0
-dc9be04e| cmeq v28.2d, v30.2d, #0
-623f2d4e| cmge v2.16b, v27.16b, v13.16b
-e889e06e| cmge v8.2d, v15.2d, #0
-cb37e55e| cmgt d11, d30, d5
-8e37b00e| cmgt v14.2s, v28.2s, v16.2s
-1a8be04e| cmgt v26.2d, v24.2d, #0
-7f37eb7e| cmhi d31, d27, d11
-333d356e| cmhs v19.16b, v9.16b, v21.16b
-bd9ae07e| cmle d29, d21, #0
-8999602e| cmle v9.4h, v12.4h, #0
-aca9e05e| cmlt d12, d13, #0
-7fa8204e| cmlt v31.16b, v3.16b, #0
-588db20e| cmtst v24.2s, v10.2s, v18.2s
-cc051d5e| mov b12, v14.b[14]
-4c06050e| dup v12.8b, v18.b[2]
-790c020e| dup v25.4h, w3
-391d286e| eor v25.16b, v9.16b, v8.16b
-4b30156e| ext v11.16b, v2.16b, v21.16b, #6
-44d6bf7e| fabd s4, s18, s31
-17fba00e| fabs v23.2s, v24.2s
-90c2201e| fabs s16, s20
-62c2601e| fabs d2, d19
-eeef3f7e| facge s14, s31, s31
-09efa07e| facgt s9, s24, s0
-72edae6e| facgt v18.4s, v11.4s, v14.4s
-61d5394e| fadd v1.4s, v11.4s, v25.4s
-0d2a3d1e| fadd s13, s16, s29
-4b296f1e| fadd d11, d10, d15
-78d8307e| faddp s24, v3.2s
-e7d7322e| faddp v7.2s, v31.2s, v18.2s
-e8253c1e| fccmp s15, s28, #0x8, cs
-e8857f1e| fccmp d15, d31, #0x8, hi
-5714291e| fccmpe s2, s9, #0x7, ne
-b484631e| fccmpe d5, d3, #0x4, hi
-3ce5685e| fcmeq d28, d9, d8
-50e6214e| fcmeq v16.4s, v18.4s, v1.4s
-9ddae05e| fcmeq d29, d20, #0
-b3e62b7e| fcmge s19, s21, s11
-0ce4396e| fcmge v12.4s, v0.4s, v25.4s
-a6c9e07e| fcmge d6, d13, #0
-ede6bd7e| fcmgt s13, s23, s29
-13e6ae2e| fcmgt v19.2s, v16.2s, v14.2s
-4cc9e05e| fcmgt d12, d10, #0
-41cba04e| fcmgt v1.4s, v26.4s, #0
-96d8e07e| fcmle d22, d4, #0
-0be9a05e| fcmlt s11, s8, #0
-dfe9a04e| fcmlt v31.4s, v14.4s, #0
-a023301e| fcmp s29, s16
-68213e1e| fcmp s11, #0
-20236d1e| fcmp d25, d13
-68216b1e| fcmp d11, #0
-3023351e| fcmpe s25, s21
-78203e1e| fcmpe s3, #0
-b022721e| fcmpe d21, d18
-f8226f1e| fcmpe d23, #0
-b54e271e| fcsel s21, s21, s7, mi
-319f611e| fcsel d17, d25, d1, ls
-2142e21e| fcvt s1, h17
-cfc3e21e| fcvt d15, h30
-01c1231e| fcvt h1, s8
-4fc0221e| fcvt d15, s2
-f9c0631e| fcvt h25, d7
-2b43621e| fcvt s11, d25
-f1c8615e| fcvtas d17, d7
-ea01241e| fcvtas w10, s15
-0c02249e| fcvtas x12, s16
-e702641e| fcvtas w7, d23
-f501649e| fcvtas x21, d15
-45ca217e| fcvtau s5, s18
-66c9212e| fcvtau v6.2s, v11.2s
-b302251e| fcvtau w19, s21
-e102259e| fcvtau x1, s23
-5703651e| fcvtau w23, d26
-2c01659e| fcvtau x12, d9
-2c7b210e| fcvtl v12.4s, v25.4h
-f478214e| fcvtl2 v20.4s, v7.8h
-d1b8615e| fcvtms d17, d6
-a2ba614e| fcvtms v2.2d, v21.2d
-ee01301e| fcvtms w14, s15
-de01309e| fcvtms x30, s14
-8401701e| fcvtms w4, d12
-c502709e| fcvtms x5, d22
-44b8617e| fcvtmu d4, d2
-5601311e| fcvtmu w22, s10
-4602319e| fcvtmu x6, s18
-1003711e| fcvtmu w16, d24
-e602719e| fcvtmu x6, d23
-c16b210e| fcvtn v1.4h, v30.4s
-4d6b614e| fcvtn2 v13.4s, v26.2d
-95ab215e| fcvtns s21, s28
-65a9614e| fcvtns v5.2d, v11.2d
-8a02201e| fcvtns w10, s20
-bc03209e| fcvtns x28, s29
-fc01601e| fcvtns w28, d15
-9800609e| fcvtns x24, d4
-b1aa617e| fcvtnu d17, d21
-80a9216e| fcvtnu v0.4s, v12.4s
-3201211e| fcvtnu w18, s9
-e101219e| fcvtnu x1, s15
-ae00611e| fcvtnu w14, d5
-9503619e| fcvtnu x21, d28
-3faae15e| fcvtps d31, d17
-c4a8e14e| fcvtps v4.2d, v6.2d
-ab01281e| fcvtps w11, s13
-5800289e| fcvtps x24, s2
-9b02681e| fcvtps w27, d20
-de03689e| fcvtps x30, d30
-d8aaa17e| fcvtpu s24, s22
-e203291e| fcvtpu w2, s31
-5302299e| fcvtpu x19, s18
-5302691e| fcvtpu w19, d18
-8501699e| fcvtpu x5, d12
-93ff735f| fcvtzs d19, d28, #13
-b7fd504f| fcvtzs v23.2d, v13.2d, #48
-7ebba15e| fcvtzs s30, s27
-d49f181e| fcvtzs w20, s30, #25
-538d189e| fcvtzs x19, s10, #29
-7e74589e| fcvtzs x30, d3, #35
-4300381e| fcvtzs w3, s2
-bc03389e| fcvtzs x28, s29
-c702781e| fcvtzs w7, d22
-0401789e| fcvtzs x4, d8
-d1ff2e7f| fcvtzu s17, s30, #18
-d0fd3b2f| fcvtzu v16.2s, v14.2s, #5
-70bae17e| fcvtzu d16, d19
-3ef6191e| fcvtzu w30, s17, #3
-cae7199e| fcvtzu x10, s30, #7
-cffb599e| fcvtzu x15, d30, #2
-e402391e| fcvtzu w4, s23
-1a03399e| fcvtzu x26, s24
-0401791e| fcvtzu w4, d8
-c200799e| fcvtzu x2, d6
-ebfe346e| fdiv v11.4s, v23.4s, v20.4s
-c918371e| fdiv s9, s6, s23
-911a7f1e| fdiv d17, d20, d31
-a81f0c1f| fmadd s8, s29, s12, s7
-d0404a1f| fmadd d16, d6, d10, d16
-7ff6324e| fmax v31.4s, v19.4s, v18.4s
-b84b351e| fmax s24, s29, s21
-d64b621e| fmax d22, d30, d2
-016b241e| fmaxnm s1, s24, s4
-5b69781e| fmaxnm d27, d10, d24
-f1c8707e| fmaxnmp d17, v7.2d
-27c5306e| fmaxnmp v7.4s, v9.4s, v16.4s
-aef8707e| fmaxp d14, v5.2d
-53f6202e| fmaxp v19.2s, v18.2s, v0.2s
-78fb306e| fmaxv s24, v27.4s
-5af4ec4e| fmin v26.2d, v2.2d, v12.2d
-505a3c1e| fmin s16, s18, s28
-4858661e| fmin d8, d2, d6
-a9c6e04e| fminnm v9.2d, v21.2d, v0.2d
-987b311e| fminnm s24, s28, s17
-95796f1e| fminnm d21, d12, d15
-f5cbb07e| fminnmp s21, v31.2s
-b0f8f07e| fminp d16, v5.2d
-8bf5a42e| fminp v11.2s, v12.2s, v4.2s
-87cd384e| fmla v7.4s, v12.4s, v24.4s
-fd50db5f| fmls d29, d7, v27.d[0]
-d1ccb44e| fmls v17.4s, v6.4s, v20.4s
-ebf5064f| fmov v11.4s, #-2.421875000000000000e-01
-49f4056f| fmov v9.2d, #-9.000000000000000000e+00
-0940201e| fmov s9, s0
-db43601e| fmov d27, d30
-a901271e| fmov s9, w13
-3702261e| fmov w23, s17
-4d02679e| fmov d13, x18
-9d02af9e| fmov v29.d[1], x20
-ef03669e| fmov x15, d31
-7101ae9e| fmov x17, v11.d[1]
-0e103d1e| fmov s14, #-7.500000000000000000e-01
-1e50761e| fmov d30, #-1.800000000000000000e+01
-d2b4121f| fmsub s18, s6, s18, s13
-0a9c4c1f| fmsub d10, d0, d12, d7
-0d99b35f| fmul s13, s8, v19.s[3]
-a89b9b0f| fmul v8.2s, v29.2s, v27.s[2]
-75dc376e| fmul v21.4s, v3.4s, v23.4s
-7909241e| fmul s25, s11, s4
-d7096b1e| fmul d23, d14, d11
-2999ab7f| fmulx s9, s9, v11.s[3]
-35dd6d5e| fmulx d21, d9, d13
-c8dc284e| fmulx v8.4s, v6.4s, v8.4s
-c043211e| fneg s0, s30
-4742611e| fneg d7, d18
-9c51251f| fnmadd s28, s12, s5, s20
-e407771f| fnmadd d4, d31, d23, d1
-fbfa3a1f| fnmsub s27, s23, s26, s30
-bbb0691f| fnmsub d27, d5, d9, d12
-6a8b3f1e| fnmul s10, s27, s31
-1a8b751e| fnmul d26, d24, d21
-57d8e15e| frecpe d23, d2
-62dba14e| frecpe v2.4s, v27.4s
-81fd325e| frecps s1, s12, s18
-31fe224e| frecps v17.4s, v17.4s, v2.4s
-ecf9e15e| frecpx d12, d15
-c18b216e| frinta v1.4s, v30.4s
-0240261e| frinta s2, s0
-8041661e| frinta d0, d12
-c89ba12e| frinti v8.2s, v30.2s
-2ec2271e| frinti s14, s17
-5cc0671e| frinti d28, d2
-3898210e| frintm v24.2s, v1.2s
-9843251e| frintm s24, s28
-5b40651e| frintm d27, d2
-2189614e| frintn v1.2d, v9.2d
-7e42241e| frintn s30, s19
-5d40641e| frintn d29, d2
-85c3241e| frintp s5, s28
-46c2641e| frintp d6, d18
-c39b216e| frintx v3.4s, v30.4s
-a243271e| frintx s2, s29
-1d41671e| frintx d29, d8
-5499e14e| frintz v20.2d, v10.2d
-92c2251e| frintz s18, s20
-75c2651e| frintz d21, d19
-ddd9e17e| frsqrte d29, d14
-60fff85e| frsqrts d0, d27, d24
-dafffb4e| frsqrts v26.2d, v30.2d, v27.2d
-1ff9a12e| fsqrt v31.2s, v8.2s
-2dc3211e| fsqrt s13, s25
-72c0611e| fsqrt d18, d3
-7d3a3e1e| fsub s29, s19, s30
-3f38771e| fsub d31, d1, d23
-185e016e| mov v24.b[0], v16.b[11]
-911d0d4e| mov v17.b[6], w12
-2877400c| ld1 {v8.4h}, [x25]
-8ea8404c| ld1 {v14.4s, v15.4s}, [x4]
-0f62404c| ld1 {v15.16b-v17.16b}, [x16]
-0f27400c| ld1 {v15.4h-v18.4h}, [x24]
-4c75df0c| ld1 {v12.4h}, [x10],#8
-2f7bd04c| ld1 {v15.4s}, [x25], x16
-eaaadf0c| ld1 {v10.2s, v11.2s}, [x23],#16
-eca7cc4c| ld1 {v12.8h, v13.8h}, [sp], x12
-cd60df4c| ld1 {v13.16b-v15.16b}, [x6],#48
-9163df0c| ld1 {v17.8b-v19.8b}, [x28],#24
-152ddf4c| ld1 {v21.2d-v24.2d}, [x8],#64
-0725c04c| ld1 {v7.8h-v10.8h}, [x8], x0
-7c04404d| ld1 {v28.b}[9], [x3]
-6d49404d| ld1 {v13.h}[5], [x11]
-9e81400d| ld1 {v30.s}[0], [x12]
-d384404d| ld1 {v19.d}[1], [x6]
-b20ddf4d| ld1 {v18.b}[11], [x13],#1
-f114cd4d| ld1 {v17.b}[13], [x7], x13
-bb92df4d| ld1 {v27.s}[3], [x21],#4
-a883d64d| ld1 {v8.s}[2], [x29], x22
-f584df4d| ld1 {v21.d}[1], [x7],#8
-0284c80d| ld1 {v2.d}[0], [x0], x8
-91c3400d| ld1r {v17.8b}, [x28]
-71c9df0d| ld1r {v17.2s}, [x11],#4
-e7c4db0d| ld1r {v7.4h}, [x7], x27
-b787404c| ld2 {v23.8h, v24.8h}, [x29]
-1280df0c| ld2 {v18.8b, v19.8b}, [x0],#16
-2f88c10c| ld2 {v15.2s, v16.2s}, [x1], x1
-a01e604d| ld2 {v0.b, v1.b}[15], [x21]
-eb82604d| ld2 {v11.s, v12.s}[2], [x23]
-f985600d| ld2 {v25.d, v26.d}[0], [x15]
-e315ff0d| ld2 {v3.b, v4.b}[5], [x15],#2
-1c11f24d| ld2 {v28.b, v29.b}[12], [x8], x18
-f341ef4d| ld2 {v19.h, v20.h}[4], [x15], x15
-5a80ff4d| ld2 {v26.s, v27.s}[2], [x2],#8
-d781fd0d| ld2 {v23.s, v24.s}[0], [x14], x29
-c885ff0d| ld2 {v8.d, v9.d}[0], [x14],#16
-1286f34d| ld2 {v18.d, v19.d}[1], [x16], x19
-06c2600d| ld2r {v6.8b, v7.8b}, [x16]
-95c7ff4d| ld2r {v21.8h, v22.8h}, [x28],#4
-d4c1e14d| ld2r {v20.16b, v21.16b}, [x14], x1
-eb4bdf4c| ld3 {v11.4s-v13.4s}, [sp],#48
-ce4fc24c| ld3 {v14.2d-v16.2d}, [x30], x2
-db23400d| ld3 {v27.b-v29.b}[0], [x30]
-26b3400d| ld3 {v6.s-v8.s}[1], [x25]
-37a4400d| ld3 {v23.d-v25.d}[0], [x1]
-052edf4d| ld3 {v5.b-v7.b}[11], [x16],#3
-8c3ccd0d| ld3 {v12.b-v14.b}[7], [x4], x13
-74b0df4d| ld3 {v20.s-v22.s}[3], [x3],#12
-b7b1c84d| ld3 {v23.s-v25.s}[3], [x13], x8
-e6a5df4d| ld3 {v6.d-v8.d}[1], [x15],#24
-42a5c80d| ld3 {v2.d-v4.d}[0], [x10], x8
-9ceb400d| ld3r {v28.2s-v30.2s}, [x28]
-6aeadf4d| ld3r {v10.4s-v12.4s}, [x19],#12
-65ebce4d| ld3r {v5.4s-v7.4s}, [x27], x14
-ea05400c| ld4 {v10.4h-v13.4h}, [x15]
-1f03df0c| ld4 {v31.8b, v0.8b, v1.8b, v2.8b}, [x24],#32
-ae09c90c| ld4 {v14.2s-v17.2s}, [x13], x9
-fd3a604d| ld4 {v29.b, v30.b, v31.b, v0.b}[14], [x23]
-d8a0604d| ld4 {v24.s-v27.s}[2], [x6]
-62a4604d| ld4 {v2.d-v5.d}[1], [x3]
-712fff0d| ld4 {v17.b-v20.b}[3], [x27],#4
-aa27f40d| ld4 {v10.b-v13.b}[1], [x29], x20
-be71ff4d| ld4 {v30.h, v31.h, v0.h, v1.h}[6], [x13],#8
-e360ee4d| ld4 {v3.h-v6.h}[4], [x7], x14
-c0a0ff0d| ld4 {v0.s-v3.s}[0], [x6],#16
-d3a3e00d| ld4 {v19.s-v22.s}[0], [x30], x0
-95a7ff0d| ld4 {v21.d-v24.d}[0], [x28],#32
-32a6e14d| ld4 {v18.d-v21.d}[1], [x17], x1
-56e0604d| ld4r {v22.16b-v25.16b}, [x2]
-dce7ff0d| ld4r {v28.4h-v31.4h}, [x30],#8
-14e8ef0d| ld4r {v20.2s-v23.2s}, [x0], x15
-7776732c| ldnp s23, s29, [x19,#-104]
-23dd746c| ldnp d3, d23, [x9,#-184]
-383e48ac| ldnp q24, q15, [x17,#256]
-0d10c12c| ldp s13, s4, [x0],#8
-fe3ae66c| ldp d30, d14, [x23],#-416
-f627f9ac| ldp q22, q9, [sp],#-224
-918cd82d| ldp s17, s3, [x4,#196]!
-986be46d| ldp d24, d26, [x28,#-448]!
-ebd8f8ad| ldp q11, q22, [x7,#-240]!
-3c905c2d| ldp s28, s4, [x1,#228]
-5887536d| ldp d24, d1, [x26,#312]
-08957cad| ldp q8, q5, [x8,#-112]
-c5e5543c| ldr b5, [x14],#-178
-4ff5417c| ldr h15, [x10],#31
-72e54bbc| ldr s18, [x11],#190
-16b55dfc| ldr d22, [x8],#-37
-9e24db3c| ldr q30, [x4],#-78
-d20c503c| ldr b18, [x6,#-256]!
-1f1c4d7c| ldr h31, [x0,#209]!
-2fbf4dbc| ldr s15, [x25,#219]!
-a06c59fc| ldr d0, [x5,#-106]!
-886ddd3c| ldr q8, [x12,#-42]!
-58f64e3d| ldr b24, [x18,#957]
-f5c3547d| ldr h21, [sp,#2656]
-8e8a7bbd| ldr s14, [x20,#15240]
-8e3c7afd| ldr d14, [x4,#29816]
-f2aeff3d| ldr q18, [x23,#65200]
-92831b1c| ldr s18, .+0x37070
-3e01b55c| ldr d30, .+0xfffffffffff6a024
-fdee3b9c| ldr q29, .+0x77ddc
-1d78793c| ldr b29, [x0,x25,lsl #0]
-b8f15d3c| ldur b24, [x13,#-33]
-95635c7c| ldur h21, [x28,#-58]
-27d046bc| ldur s7, [x1,#109]
-21624efc| ldur d1, [x17,#230]
-6dd2d83c| ldur q13, [x19,#-115]
-dc09be6f| mla v28.4s, v14.4s, v30.s[3]
-eb97af4e| mla v11.4s, v31.4s, v15.4s
-0495722e| mls v4.4h, v8.4h, v18.4h
-21070a5e| mov h1, v25.h[2]
-92471b6e| mov v18.b[13], v28.b[8]
-7a1e134e| mov v26.b[9], w19
-761fa30e| orr v22.8b, v27.8b, v3.8b
-f23d070e| umov w18, v15.b[3]
-a5e6064f| movi v5.16b, #0xd5
-63c5064f| movi v3.4s, #0xcb, msl #8
-bca7014f| movi v28.8h, #0x3d, lsl #8
-95e4040f| movi v21.8b, #0x84
-fce4072f| movi d28, #0xffffff0000ffffff
-24e6036f| movi v4.2d, #0xffffff000000ff
-429d6a4e| mul v2.8h, v10.8h, v10.8h
-e558202e| mvn v5.8b, v7.8b
-fe65012f| mvni v30.2s, #0x2f, lsl #24
-2b16046f| bic v11.4s, #0x91
-7756016f| bic v23.4s, #0x33, lsl #16
-e159202e| mvn v1.8b, v15.8b
-da1cf14e| orn v26.16b, v6.16b, v17.16b
-ca04014f| movi v10.4s, #0x26
-14a6020f| movi v20.4h, #0x50, lsl #8
-2f1fbf0e| orr v15.8b, v25.8b, v31.8b
-74e2f20e| pmull v20.1q, v19.1d, v18.1d
-2740262e| raddhn v7.8b, v1.8h, v6.8h
-17412e6e| raddhn2 v23.16b, v8.8h, v14.8h
-da59602e| rbit v26.8b, v14.8b
-230a604e| rev64 v3.8h, v17.8h
-178d210f| rshrn v23.2s, v8.2d, #31
-6b8d2c4f| rshrn2 v11.4s, v11.2d, #20
-b57c2a0e| saba v21.8b, v5.8b, v10.8b
-71533d0e| sabal v17.8h, v27.8b, v29.8b
-1c50774e| sabal2 v28.4s, v0.8h, v23.8h
-1974be4e| sabd v25.4s, v0.4s, v30.4s
-6b71ad0e| sabdl v11.2d, v11.2s, v13.2s
-5270324e| sabdl2 v18.8h, v2.16b, v18.16b
-366b200e| sadalp v22.4h, v25.8b
-1802680e| saddl v24.4s, v16.4h, v8.4h
-022b604e| saddlp v2.4s, v24.8h
-413ab04e| saddlv d1, v18.4s
-4013750e| saddw v0.4s, v26.4s, v21.4h
-4412744e| saddw2 v4.4s, v18.4s, v20.8h
-2ee6255f| scvtf s14, s17, #27
-dce75f4f| scvtf v28.2d, v30.2d, #33
-5bdb615e| scvtf d27, d26
-3ad9210e| scvtf v26.2s, v9.2s
-1ceb421e| scvtf d28, w24, #6
-9dde029e| scvtf s29, x20, #9
-57d1429e| scvtf d23, x10, #12
-d600221e| scvtf s22, w6
-c503621e| scvtf d5, w30
-3303229e| scvtf s19, x25
-0003629e| scvtf d0, x24
-6f01075e| sha1c q15, s11, v7.4s
-9308285e| sha1h s19, s4
-b420105e| sha1m q20, s5, v16.4s
-f4131f5e| sha1p q20, s31, v31.4s
-dc311f5e| sha1su0 v28.4s, v14.4s, v31.4s
-bb1a285e| sha1su1 v27.4s, v21.4s
-2753075e| sha256h2 q7, q25, v7.4s
-3141065e| sha256h q17, q9, v6.4s
-172b285e| sha256su0 v23.4s, v24.4s
-bb621b5e| sha256su1 v27.4s, v21.4s, v27.4s
-7005644e| shadd v16.8h, v11.8h, v4.8h
-2d870e0f| shrn v13.8b, v25.8h, #2
-ac86024f| movi v12.8h, #0x55
-1c26a50e| shsub v28.2s, v16.2s, v5.2s
-db576b6f| sli v27.2d, v30.2d, #43
-c3652c4e| smax v3.16b, v14.16b, v12.16b
-b5a7ab0e| smaxp v21.2s, v29.2s, v11.2s
-f1aeb34e| sminp v17.4s, v23.4s, v19.4s
-87a8b14e| sminv s7, v4.4s
-1e21bc4f| smlal2 v30.2d, v8.4s, v28.s[1]
-50a33a0e| smlsl v16.8h, v26.8b, v26.8b
-4e2d1a0e| smov w14, v10.h[6]
-9ba9b30f| smull v27.2d, v12.2s, v19.s[3]
-417a205e| sqabs b1, b18
-9f78a04e| sqabs v31.4s, v4.4s
-580d2e5e| sqadd b24, b10, b14
-3d30764f| sqdmlal2 v29.4s, v1.8h, v6.h[3]
-9591b25e| sqdmlal d21, s12, s18
-0d92670e| sqdmlal v13.4s, v16.4h, v7.4h
-90b1765e| sqdmlsl s16, h12, h22
-83c2ad5f| sqdmulh s3, s20, v13.s[1]
-bbb7aa5e| sqdmulh s27, s29, s10
-c8b99a5f| sqdmull d8, s14, v26.s[2]
-75b3920f| sqdmull v21.2d, v27.2s, v18.s[0]
-86d1b75e| sqdmull d6, s12, s23
-edd06f4e| sqdmull2 v13.4s, v7.8h, v15.8h
-0f7ae07e| sqneg d15, d16
-e87b602e| sqneg v8.4h, v31.4h
-ecb5a92e| sqrdmulh v12.2s, v15.2s, v9.2s
-d75fba5e| sqrshl s23, s30, s26
-f75f324e| sqrshl v23.16b, v31.16b, v18.16b
-af9c114f| sqrshrn2 v15.8h, v5.4s, #15
-318d2f6f| sqrshrun2 v17.4s, v9.2d, #17
-b3757c5f| sqshl d19, d13, #60
-0c776f4f| sqshl v12.2d, v24.2d, #47
-d84c2a5e| sqshl b24, b6, b10
-ae4e704e| sqshl v14.8h, v21.8h, v16.8h
-b566727f| sqshlu d21, d21, #50
-4566596f| sqshlu v5.2d, v18.2d, #25
-d595140f| sqshrn v21.4h, v14.4s, #12
-00940b4f| sqshrn2 v0.16b, v0.8h, #5
-5384352f| sqshrun v19.2s, v2.2d, #11
-1a2e3d5e| sqsub b26, b16, b29
-b02e6b4e| sqsub v16.8h, v21.8h, v11.8h
-1249a15e| sqxtn s18, d8
-eb49610e| sqxtn v11.4h, v15.4s
-cb4a614e| sqxtn2 v11.8h, v22.4s
-102b217e| sqxtun b16, h24
-492a212e| sqxtun v9.8b, v18.8h
-112a616e| sqxtun2 v17.8h, v16.4s
-6c16ae4e| srhadd v12.4s, v19.4s, v14.4s
-5946467f| sri d25, d18, #58
-21460a2f| sri v1.8b, v17.8b, #6
-9f56b10e| srshl v31.2s, v20.2s, v17.2s
-e724635f| srshr d7, d7, #29
-e8266b4f| srshr v8.2d, v23.2d, #21
-2b37180f| srsra v11.4h, v25.4h, #8
-1644f95e| sshl d22, d0, d25
-3644fc4e| sshl v22.2d, v1.2d, v28.2d
-d9a61f4f| sshll2 v25.4s, v22.8h, #15
-9b075e5f| sshr d27, d28, #34
-2c044c4f| sshr v12.2d, v1.2d, #52
-d915324f| ssra v25.4s, v14.4s, #14
-de21260e| ssubl v30.8h, v14.8b, v6.8b
-c720254e| ssubl2 v7.8h, v6.16b, v5.16b
-9d33b90e| ssubw v29.2d, v28.2d, v25.2s
-7e71000c| st1 {v30.8b}, [x11]
-cca6000c| st1 {v12.4h, v13.4h}, [x22]
-5467000c| st1 {v20.4h-v22.4h}, [x26]
-cc28004c| st1 {v12.4s-v15.4s}, [x6]
-9e7e9f4c| st1 {v30.2d}, [x20],#16
-4b769d0c| st1 {v11.4h}, [x18], x29
-adaa9f0c| st1 {v13.2s, v14.2s}, [x21],#16
-bca7844c| st1 {v28.8h, v29.8h}, [x29], x4
-b5659f0c| st1 {v21.4h-v23.4h}, [x13],#24
-e669874c| st1 {v6.4s-v8.4s}, [x15], x7
-9b2a9f0c| st1 {v27.2s-v30.2s}, [x20],#32
-14278b0c| st1 {v20.4h-v23.4h}, [x24], x11
-d002004d| st1 {v16.b}[8], [x22]
-9780004d| st1 {v23.s}[2], [x4]
-7787004d| st1 {v23.d}[1], [x27]
-850d9f0d| st1 {v5.b}[3], [x12],#1
-7b1f8f0d| st1 {v27.b}[7], [x27], x15
-7a5a9f4d| st1 {v26.h}[7], [x19],#2
-e14b9e4d| st1 {v1.h}[5], [sp], x30
-dd819f4d| st1 {v29.s}[2], [x14],#4
-a281910d| st1 {v2.s}[0], [x13], x17
-b2849f0d| st1 {v18.d}[0], [x5],#8
-c484964d| st1 {v4.d}[1], [x6], x22
-f686004c| st2 {v22.8h, v23.8h}, [x23]
-2e869f0c| st2 {v14.4h, v15.4h}, [x17],#16
-d200200d| st2 {v18.b, v19.b}[0], [x6]
-ab58200d| st2 {v11.h, v12.h}[3], [x5]
-c491204d| st2 {v4.s, v5.s}[3], [x14]
-5a85204d| st2 {v26.d, v27.d}[1], [x10]
-f217bf0d| st2 {v18.b, v19.b}[5], [sp],#2
-2b0ea04d| st2 {v11.b, v12.b}[11], [x17], x0
-4042bf0d| st2 {v0.h, v1.h}[0], [x18],#4
-9342af4d| st2 {v19.h, v20.h}[4], [x20], x15
-9b91bf4d| st2 {v27.s, v28.s}[3], [x12],#8
-7480a10d| st2 {v20.s, v21.s}[0], [x3], x1
-c884bf0d| st2 {v8.d, v9.d}[0], [x6],#16
-ae86ac4d| st2 {v14.d, v15.d}[1], [x21], x12
-614d004c| st3 {v1.2d-v3.2d}, [x11]
-324b9f4c| st3 {v18.4s-v20.4s}, [x25],#48
-7340870c| st3 {v19.8b-v21.8b}, [x3], x7
-ac24004d| st3 {v12.b-v14.b}[9], [x5]
-a161004d| st3 {v1.h-v3.h}[4], [x13]
-09b1004d| st3 {v9.s-v11.s}[3], [x8]
-78a7004d| st3 {v24.d-v26.d}[1], [x27]
-4f349f0d| st3 {v15.b-v17.b}[5], [x2],#3
-643d840d| st3 {v4.b-v6.b}[7], [x11], x4
-48699f0d| st3 {v8.h-v10.h}[1], [x10],#6
-85b19f4d| st3 {v5.s-v7.s}[3], [x12],#12
-60a18a0d| st3 {v0.s-v2.s}[0], [x11], x10
-69a49f0d| st3 {v9.d-v11.d}[0], [x3],#24
-ada7814d| st3 {v13.d-v15.d}[1], [x29], x1
-760c004c| st4 {v22.2d-v25.2d}, [x3]
-ee0d9f4c| st4 {v14.2d-v17.2d}, [x15],#64
-7800970c| st4 {v24.8b-v27.8b}, [x3], x23
-a221200d| st4 {v2.b-v5.b}[0], [x13]
-9a69204d| st4 {v26.h-v29.h}[5], [x12]
-02a1204d| st4 {v2.s-v5.s}[2], [x8]
-3fa6200d| st4 {v31.d, v0.d, v1.d, v2.d}[0], [x17]
-943abf0d| st4 {v20.b-v23.b}[6], [x20],#4
-bf26a60d| st4 {v31.b, v0.b, v1.b, v2.b}[1], [x21], x6
-55b3bf4d| st4 {v21.s-v24.s}[3], [x26],#16
-dda1b04d| st4 {v29.s, v30.s, v31.s, v0.s}[2], [x14], x16
-6aa5bf0d| st4 {v10.d-v13.d}[0], [x11],#32
-e7a7ac0d| st4 {v7.d-v10.d}[0], [sp], x12
-f9c9202c| stnp s25, s18, [x15,#-252]
-18b8316c| stnp d24, d14, [x0,#-232]
-409c1cac| stnp q0, q7, [x2,#912]
-73f0812c| stp s19, s28, [x3],#12
-28d0826c| stp d8, d20, [x1],#40
-9bf5bfac| stp q27, q29, [x12],#-16
-885ead2d| stp s8, s23, [x20,#-152]!
-b0de926d| stp d16, d23, [x21,#296]!
-713387ad| stp q17, q12, [x27,#224]!
-52130a2d| stp s18, s4, [x26,#80]
-b63a236d| stp d22, d14, [x21,#-464]
-6d5424ad| stp q13, q21, [x3,#-896]
-afb60f3c| str b15, [x21],#251
-81e7077c| str h1, [x28],#126
-203713bc| str s0, [x25],#-205
-60c61ffc| str d0, [x19],#-4
-d256813c| str q18, [x22],#21
-ffce083c| str b31, [x23,#140]!
-6d3d017c| str h13, [x11,#19]!
-52ed01bc| str s18, [x10,#30]!
-fafd11fc| str d26, [x15,#-225]!
-663e9b3c| str q6, [x19,#-77]!
-7d0c393d| str b29, [x3,#3651]
-8f50067d| str h15, [x4,#808]
-94680dbd| str s20, [x4,#3432]
-b7673bfd| str d23, [x29,#30408]
-fed3a63d| str q30, [sp,#39744]
-8a6a243c| str b10, [x20,x4]
-29493fbc| str s9, [x9,wzr,uxtw]
-8bd93bfc| str d11, [x12,w27,sxtw #3]
-c768a93c| str q7, [x6,x9]
-a7b00a3c| stur b7, [x5,#171]
-40e3107c| stur h0, [x26,#-242]
-18911fbc| stur s24, [x8,#-7]
-fcc007fc| stur d28, [x7,#124]
-db12893c| stur q27, [x22,#145]
-1686716e| sub v22.8h, v16.8h, v17.8h
-5362320e| subhn v19.8b, v18.8h, v18.8h
-6163bf4e| subhn2 v1.4s, v27.2d, v31.2d
-a73be05e| suqadd d7, d29
-21a4100f| sxtl v1.4s, v1.4h
-8b23164e| tbl v11.16b, {v28.16b, v29.16b}, v22.16b
-3642120e| tbl v22.8b, {v17.16b-v19.16b}, v18.8b
-cf611f0e| tbl v15.8b, {v14.16b-v17.16b}, v31.8b
-0b020e4e| tbl v11.16b, {v16.16b}, v14.16b
-9830014e| tbx v24.16b, {v4.16b, v5.16b}, v1.16b
-1452044e| tbx v20.16b, {v16.16b-v18.16b}, v4.16b
-b4711a0e| tbx v20.8b, {v13.16b-v16.16b}, v26.8b
-f911140e| tbx v25.8b, {v15.16b}, v20.8b
-9f28500e| trn1 v31.4h, v4.4h, v16.4h
-2e69c64e| trn2 v14.2d, v9.2d, v6.2d
-c752756e| uabal2 v7.4s, v22.8h, v21.8h
-8675696e| uabd v6.8h, v12.8h, v9.8h
-a973ab6e| uabdl2 v9.2d, v29.4s, v11.4s
-fa006c2e| uaddl v26.4s, v7.4h, v12.4h
-da00236e| uaddl2 v26.8h, v6.16b, v3.16b
-ab3a306e| uaddlv h11, v21.16b
-a312746e| uaddw2 v3.4s, v21.4s, v20.8h
-cee55e7f| ucvtf d14, d14, #34
-8edb617e| ucvtf d14, d28
-ab8f431e| ucvtf d11, w29, #29
-68b3039e| ucvtf s8, x27, #20
-7686439e| ucvtf d22, x19, #31
-2a03231e| ucvtf s10, w25
-9f01631e| ucvtf d31, w12
-a800239e| ucvtf s8, x5
-0302639e| ucvtf d3, x16
-df65a42e| umax v31.2s, v14.2s, v4.2s
-29ab702e| umaxv h9, v25.4h
-6f6e2e6e| umin v15.16b, v19.16b, v14.16b
-fdada32e| uminp v29.2s, v15.2s, v3.2s
-07289a6f| umlal2 v7.2d, v0.4s, v26.s[2]
-aa80ad2e| umlal v10.2d, v5.2s, v13.2s
-d66b462f| umlsl v22.4s, v30.4h, v6.h[4]
-12a3b62e| umlsl v18.2d, v24.2s, v22.2s
-583e0d0e| umov w24, v18.b[6]
-20c3b52e| umull v0.2d, v25.2s, v21.2s
-20c2616e| umull2 v0.4s, v17.8h, v1.8h
-2f0f6d7e| uqadd h15, h25, h13
-a60c272e| uqadd v6.8b, v5.8b, v7.8b
-5b5da27e| uqrshl s27, s10, s2
-195c786e| uqrshl v25.8h, v0.8h, v24.8h
-209e282f| uqrshrn v0.2s, v17.2d, #24
-e89e3b6f| uqrshrn2 v8.4s, v23.2d, #5
-4f75147f| uqshl h15, h10, #4
-d2767d6f| uqshl v18.2d, v22.2d, #61
-bb4cfe7e| uqshl d27, d5, d30
-794ea42e| uqshl v25.2s, v19.2s, v4.2s
-51960b7f| uqshrn b17, h18, #5
-642ce77e| uqsub d4, d3, d7
-6149617e| uqxtn h1, s11
-4e48a12e| uqxtn v14.2s, v2.2d
-9cc8a14e| urecpe v28.4s, v4.4s
-2f15a52e| urhadd v15.2s, v9.2s, v5.2s
-5757fb7e| urshl d23, d26, d27
-2756706e| urshl v7.8h, v17.8h, v16.8h
-a424487f| urshr d4, d5, #56
-b926796f| urshr v25.2d, v21.2d, #7
-1336076f| bic v19.4s, #0xf0, lsl #8
-e347e06e| ushl v3.2d, v31.2d, v0.2d
-f7a5272f| ushll v23.2d, v15.2s, #7
-9ba63d6f| ushll2 v27.2d, v20.4s, #29
-d405737f| ushr d20, d14, #13
-3a05116f| ushr v26.8h, v9.8h, #15
-1d39607e| usqadd h29, h8
-0e39e06e| usqadd v14.2d, v8.2d
-8022b02e| usubl v0.2d, v20.2s, v16.2s
-9a20786e| usubl2 v26.4s, v4.8h, v24.8h
-df33692e| usubw v31.4s, v30.4s, v9.4h
-92a5102f| uxtl v18.4s, v12.4h
-0e19464e| uzp1 v14.8h, v8.8h, v6.8h
-7629610e| xtn v22.4h, v11.4s
-7338504e| zip1 v19.8h, v3.8h, v16.8h
-357bd64e| zip2 v21.2d, v25.2d, v22.2d
-63020f1a| adc w3, w19, w15
-1f03159a| adc xzr, x24, x21
-d300103a| adcs w19, w6, w16
-1b0010ba| adcs x27, x0, x16
-dd133f0b| add w29, w30, wzr, uxtb #4
-89c42f8b| add x9, x4, w15, sxtw #1
-4e242a11| add w14, w2, #0xa89
-e1c12f2b| adds w1, w15, w15, sxtw
-733421ab| adds x19, x3, w1, uxth #5
-0ccc5aab| adds x12, x0, x26, lsr #51
-51354470| adr x17, .+0x886ab
-ef6796d0| adrp x15, .+0xffffffff2ccfe000
-2e122612| and w14, w17, #0x7c000000
-5e4c2992| and x30, x2, #0xff8007ffff8007ff
-2805410a| and w8, w9, w1, lsr #1
-ede1938a| and x13, x15, x19, asr #56
-e7c10f72| ands w7, w15, #0x2020202
-23ed55f2| ands x3, x9, #0xfffff87fffffffff
-e6935bea| ands x6, xzr, x27, lsr #36
-0e2ac61a| asr w14, w16, w6
-802ad59a| asr x0, x20, x21
-7cfd7793| asr x28, x11, #55
-f028cd1a| asr w16, w7, w13
-132bd29a| asr x19, x24, x18
-c2560e54| b.cs .+0x1cad8
-83516b17| b .+0xfffffffffdad460c
-7a571233| bfxil w26, w27, #18, #4
-71b858b3| bfxil x17, x3, #24, #23
-c3964bb3| bfxil x3, x22, #11, #27
-eb561233| bfxil w11, w23, #18, #4
-063f5db3| bfi x6, x24, #35, #16
-0a337a0a| bic w10, w24, w26, lsr #12
-2a71e28a| bic x10, x9, x2, ror #28
-c168bf6a| bics w1, w6, wzr, asr #26
-d8bb3cea| bics x24, x30, x28, lsl #46
-82e81795| bl .+0x45fa208
-40033fd6| blr x26
-c0011fd6| br x14
-00dd31d4| brk #0x8ee8
-7267db35| cbnz w18, .+0xfffffffffffb6cec
-e44c7fb5| cbnz x4, .+0xfe99c
-9dc4c334| cbz w29, .+0xfffffffffff87890
-376eceb4| cbz x23, .+0xfffffffffff9cdc4
-a6cb563a| ccmn w29, #0x16, #0x6, gt
-87db55ba| ccmn x28, #0x15, #0x7, le
-a042493a| ccmn w21, w9, #0x0, mi
-6a0040ba| ccmn x3, x0, #0xa, eq
-46bb5c7a| ccmp w26, #0x1c, #0x6, lt
-c72942fa| ccmp x14, #0x2, #0x7, cs
-cda1427a| ccmp w14, w2, #0xd, ge
-a1314dfa| ccmp x13, x13, #0x1, cc
-8706931a| csinc w7, w20, w19, eq
-3ae69a9a| csinc x26, x17, x26, al
-9e51945a| csinv w30, w12, w20, pl
-d5e386da| csinv x21, x30, x6, al
-5f3503d5| clrex #0x5
-e515c05a| cls w5, w15
-a815c0da| cls x8, x13
-4a12c05a| clz w10, w18
-3c10c0da| clz x28, x1
-ff70252b| cmn w7, w5, uxtx #4
-9fa133ab| cmn x12, w19, sxth
-3f3a822b| cmn w17, w2, asr #14
-df1d44ab| cmn x14, x4, lsr #7
-3f95386b| cmp w9, w24, sxtb #5
-9f653feb| cmp x12, xzr, uxtx #1
-1626915a| csneg w22, w16, w17, cs
-b4d587da| csneg x20, x13, x7, le
-9841d41a| crc32b w24, w12, w20
-ec45d01a| crc32h w12, w15, w16
-8048ca1a| crc32w w0, w4, w10
-d44ec19a| crc32x w20, w22, x1
-1552d31a| crc32cb w21, w16, w19
-4b54c71a| crc32ch w11, w2, w7
-245ad41a| crc32cw w4, w17, w20
-c35cc89a| crc32cx w3, w6, x8
-14219f1a| csel w20, w8, wzr, cs
-9c73979a| csel x28, x28, x23, vc
-e7279f1a| cset w7, cc
-ec579f9a| cset x12, mi
-e5f39f5a| csinv w5, wzr, wzr, al
-e8639fda| csetm x8, vc
-ea76971a| cinc w10, w23, vs
-78a7859a| csinc x24, x27, x5, ge
-b590845a| csinv w21, w5, w4, ls
-b4029eda| csinv x20, x21, x30, eq
-b3969b5a| csneg w19, w21, w27, ls
-938591da| csneg x19, x12, x17, hi
-016ea8d4| dcps1 #0x4370
-0275a4d4| dcps2 #0x23a8
-a3e9a6d4| dcps3 #0x374d
-bf3903d5| dmb ishld
-e003bfd6| drps
-9f3e03d5| dsb st
-50b1a0ca| eon x16, x10, x0, asr #44
-c0b02f52| eor w0, w6, #0x3ffe3ffe
-4b0c1ed2| eor x11, x2, #0x3c0000003c
-693c074a| eor w9, w3, w7, lsl #15
-113e1aca| eor x17, x16, x26, lsl #15
-e0039fd6| eret
-fef8c693| extr x30, x7, x6, #62
-3f2003d5| yield
-3f2403d5| hint #0x21
-c0425ad4| hlt #0xd216
-df3003d5| isb #0x0
-f7fddf88| ldar w23, [x15]
-96fedfc8| ldar x22, [x20]
-11fedf08| ldarb w17, [x16]
-c2fedf48| ldarh w2, [x22]
-2d927f88| ldaxp w13, w4, [x17]
-198f7fc8| ldaxp x25, x3, [x24]
-46ff5f88| ldaxr w6, [x26]
-81fe5fc8| ldaxr x1, [x20]
-86fe5f08| ldaxrb w6, [x20]
-78ff5f48| ldaxrh w24, [x27]
-35864a28| ldnp w21, w1, [x17,#84]
-6da05fa8| ldnp x13, x8, [x3,#504]
-a8f9f428| ldp w8, w30, [x13],#-92
-b749e3a8| ldp x23, x18, [x13],#-464
-bdedd929| ldp w29, w27, [x13,#204]!
-c8e5c6a9| ldp x8, x25, [x14,#104]!
-c0857f29| ldp w0, w1, [x14,#-4]
-388a6ca9| ldp x24, x2, [x17,#-312]
-086be468| ldpsw x8, x26, [x24],#-224
-d107d269| ldpsw x17, x1, [x30,#144]!
-738e4e69| ldpsw x19, x3, [x19,#116]
-6ee55fb8| ldr w14, [x11],#-2
-233459f8| ldr x3, [x1],#-109
-919f44b8| ldr w17, [x28,#73]!
-acdd45f8| ldr x12, [x13,#93]!
-e1cd51b9| ldr w1, [x15,#4556]
-95e27bf9| ldr x21, [x20,#30656]
-09c4fa18| ldr w9, .+0xffffffffffff5880
-f528ad58| ldr x21, .+0xfffffffffff5a51c
-0c554b38| ldrb w12, [x8],#181
-054f5938| ldrb w5, [x24,#-108]!
-1f206539| ldrb wzr, [x0,#2376]
-73796a38| ldrb w19, [x11,x10,lsl #0]
-a8b74f78| ldrh w8, [x29],#251
-021e5e78| ldrh w2, [x16,#-31]!
-ec126b79| ldrh w12, [x23,#5512]
-fc5a6178| ldrh w28, [x23,w1,uxtw #1]
-eaf6c238| ldrsb w10, [x23],#47
-87679838| ldrsb x7, [x28],#-122
-567fdb38| ldrsb w22, [x26,#-73]!
-3b2e8138| ldrsb x27, [x17,#18]!
-7d74c039| ldrsb w29, [x3,#29]
-7d1f8539| ldrsb x29, [x27,#327]
-225bff38| ldrsb w2, [x25,wzr,uxtw #0]
-6a7bed38| ldrsb w10, [x27,x13,lsl #0]
-0f69b538| ldrsb x15, [x8,x21]
-c796cc78| ldrsh w7, [x22],#201
-50268e78| ldrsh x16, [x18],#226
-229ddb78| ldrsh w2, [x9,#-71]!
-0f4f9178| ldrsh x15, [x24,#-236]!
-59ecc379| ldrsh w25, [x2,#502]
-83d49679| ldrsh x3, [x4,#2922]
-986be878| ldrsh w24, [x28,x8]
-cad8bf78| ldrsh x10, [x6,wzr,sxtw #1]
-6b4693b8| ldrsw x11, [x19],#-204
-cb9e81b8| ldrsw x11, [x22,#25]!
-280d9eb9| ldrsw x8, [x9,#7692]
-93dec198| ldrsw x19, .+0xfffffffffff83bd0
-1a68b8b8| ldrsw x26, [x0,x24]
-35b955b8| ldtr w21, [x9,#-165]
-658b57f8| ldtr x5, [x27,#-136]
-b3594038| ldtrb w19, [x13,#5]
-5ac95d78| ldtrh w26, [x10,#-36]
-2c3ade38| ldtrsb w12, [x17,#-29]
-4de99038| ldtrsb x13, [x10,#-242]
-e178c378| ldtrsh w1, [x7,#55]
-a77a8778| ldtrsh x7, [x21,#119]
-cde982b8| ldtrsw x13, [x14,#46]
-04d15bb8| ldur w4, [x8,#-67]
-02a256f8| ldur x2, [x16,#-150]
-97405438| ldurb w23, [x4,#-188]
-99b14b78| ldurh w25, [x12,#187]
-f9a1cf38| ldursb w25, [x15,#250]
-c0218c38| ldursb x0, [x14,#194]
-5790d278| ldursh w23, [x2,#-215]
-a3808278| ldursh x3, [x5,#40]
-a9b08fb8| ldursw x9, [x5,#251]
-98217f88| ldxp w24, w8, [x12]
-4d6a7fc8| ldxp x13, x26, [x18]
-9c7e5f88| ldxr w28, [x20]
-0e7c5fc8| ldxr x14, [x0]
-507c5f08| ldxrb w16, [x2]
-ea7f5f48| ldxrh w10, [sp]
-5523dd1a| lsl w21, w26, w29
-9721ca9a| lsl x23, x12, x10
-75665bd3| ubfiz x21, x19, #37, #26
-0a20df1a| lsl w10, w0, wzr
-5222c99a| lsl x18, x18, x9
-5124df1a| lsr w17, w2, wzr
-6b26d69a| lsr x11, x19, x22
-9a7c0753| lsr w26, w4, #7
-7bfd53d3| lsr x27, x11, #19
-5f26d91a| lsr wzr, w18, w25
-3625d89a| lsr x22, x9, x24
-9d76001b| madd w29, w20, w0, w29
-822f0e9b| madd x2, x28, x14, x11
-e8fe101b| mneg w8, w23, w16
-88fc099b| mneg x8, x4, x9
-dd030011| add w29, w30, #0x0
-db010091| add x27, x14, #0x0
-0c6db012| mov w12, #0x7c97ffff
-3ff5aa92| mov xzr, #0xffffffffa856ffff
-87f0f6d2| mov x7, #0xb784000000000000
-f3571132| orr w19, wzr, #0xffff801f
-f3bb0bb2| mov x19, #0xffefffefffefffef
-f103082a| mov w17, w8
-ef031faa| mov x15, xzr
-4a6bf5f2| movk x10, #0xab5a, lsl #48
-383b9312| mov w24, #0xffff6626
-f5fb9092| mov x21, #0xffffffffffff7820
-d5b4b052| mov w21, #0x85a60000
-fdc5eed2| mov x29, #0x762f000000000000
-c58435d5| mrs x5, s2_5_c8_c4_6
-1a0f13d5| msr s2_3_c0_c15_0, x26
-52d5181b| msub w18, w10, w24, w21
-c4f81d9b| msub x4, x6, x29, x30
-a57c1b1b| mul w5, w5, w27
-8f7f0a9b| mul x15, x28, x10
-e75361aa| mvn x7, x1, lsr #20
-e0cb15cb| neg x0, x21, lsl #50
-ffdb49eb| cmp xzr, x9, lsr #54
-f5031c5a| ngc w21, w28
-e6031eda| ngc x6, x30
-e103077a| ngcs w1, w7
-f20301fa| ngcs x18, x1
-1f2003d5| nop
-9347722a| orn w19, w28, w18, lsr #17
-0591e1aa| orn x5, x8, x1, ror #36
-7ba82a32| orr w27, w3, #0xffc1ffc1
-ae087db2| orr x14, x5, #0x38
-9608472a| orr w22, w4, w7, lsr #2
-c40dc5aa| orr x4, x14, x5, ror #3
-9d83bcf9| prfm #0x1d, [x28,#30976]
-78ab03d8| prfm #0x18, .+0x756c
-6e9186f8| prfum #0x0e, [x11,#105]
-c001c05a| rbit w0, w14
-4203c0da| rbit x2, x26
-c0035fd6| ret
-9b08c05a| rev w27, w4
-740cc0da| rev x20, x3
-0205c05a| rev16 w2, w8
-dd07c0da| rev16 x29, x30
-020bc0da| rev32 x2, x24
-780cc0da| rev x24, x3
-9b7f9513| extr w27, w28, w21, #31
-5243dd93| extr x18, x26, x29, #16
-822eca1a| ror w2, w20, w10
-f02ddb9a| ror x16, x15, x27
-082ed81a| ror w8, w16, w24
-7b2cc39a| ror x27, x3, x3
-3b030b5a| sbc w27, w25, w11
-f2021dda| sbc x18, x23, x29
-e600127a| sbcs w6, w7, w18
-cf030ffa| sbcs x15, x30, x15
-3a797793| sbfiz x26, x9, #9, #31
-4a305193| sbfiz x10, x2, #47, #13
-a1c74493| sbfx x1, x29, #4, #46
-a00fc01a| sdiv w0, w29, w0
-f10edd9a| sdiv x17, x23, x29
-9f2003d5| sev
-bf2003d5| sevl
-a52d319b| smaddl x5, w13, w17, x11
-b4fc399b| smnegl x20, w5, w25
-579e369b| smsubl x23, w18, w22, x7
-ea7e429b| smulh x10, x23, x2
-eb7f219b| smull x11, wzr, w1
-f1fe9f88| stlr w17, [x23]
-edff9fc8| stlr x13, [sp]
-bffe9f08| stlrb wzr, [x21]
-9cfd9f48| stlrh w28, [x12]
-41bf2688| stlxp w6, w1, w15, [x26]
-01e93cc8| stlxp w28, x1, x26, [x8]
-e0fd1f88| stlxr wzr, w0, [x15]
-12fe17c8| stlxr w23, x18, [x16]
-d4fc1008| stlxrb w16, w20, [x6]
-befc0048| stlxrh w0, w30, [x5]
-76613728| stnp w22, w24, [x11,#-72]
-c7523ba8| stnp x7, x20, [x22,#-80]
-8e3a9f28| stp w14, w14, [x20],#248
-aa1fa6a8| stp x10, x7, [x29],#-416
-fbae8d29| stp w27, w11, [x23,#108]!
-f63c80a9| stp x22, x15, [x7,#0]!
-43d73629| stp w3, w21, [x26,#-76]
-1ae01ba9| stp x26, x24, [x0,#440]
-8f650cb8| str w15, [x12],#198
-aad503f8| str x10, [x13],#61
-ec4d00b8| str w12, [x15,#4]!
-7dbc1df8| str x29, [x3,#-37]!
-9b0226b9| str w27, [x20,#9728]
-91691af9| str x17, [x12,#13520]
-20840838| strb w0, [x1],#136
-060c1f38| strb w6, [x0,#-16]!
-2b213a39| strb w11, [x9,#3720]
-ab6b3438| strb w11, [x29,x20]
-50e51e78| strh w16, [x10],#-18
-5d5d1878| strh w29, [x10,#-123]!
-ea862379| strh w10, [x23,#4546]
-d65a2778| strh w22, [x22,w7,uxtw #1]
-d5ca12b8| sttr w21, [x22,#-212]
-001b18f8| sttr x0, [x24,#-127]
-290a1e38| sttrb w9, [x17,#-32]
-0b381078| sttrh w11, [x0,#-253]
-c78101b8| stur w7, [x14,#24]
-c0b217f8| stur x0, [x22,#-133]
-f8401e38| sturb w24, [x7,#-28]
-5e911a78| sturh w30, [x10,#-87]
-b7622d88| stxp w13, w23, w24, [x21]
-233d37c8| stxp w23, x3, x15, [x9]
-847d0088| stxr w0, w4, [x12]
-a27d0bc8| stxr w11, x2, [x13]
-f27f1e08| stxrb w30, w18, [sp]
-3a7d1848| stxrh w24, w26, [x9]
-d4dc204b| sub w20, w6, w0, sxtw #7
-874023cb| sub x7, x4, w3, uxtw
-44eb4f51| sub w4, w26, #0x3fa, lsl #12
-17b012cb| sub x23, x0, x18, lsl #44
-ac1e376b| subs w12, w21, w23, uxtb #7
-b0483beb| subs x16, x5, w27, uxtw #2
-d1f994eb| subs x17, x14, x20, asr #62
-61d513d4| svc #0x9eab
-591d0013| sxtb w25, w10
-9f1f4093| sxtb xzr, w28
-773f0013| sxth w23, w27
-453c4093| sxth x5, w2
-b77c4093| sxtw x23, w5
-743628d5| sysl x20, #0, C3, C6, #3
-6fd248b7| tbnz x15, #41, .+0x1a4c
-5afe3036| tbz w26, #6, .+0x1fc8
-9f613672| tst w12, #0xfffffc07
-1f8d22f2| tst x8, #0xc003c003c003c003
-ff6e93ea| tst x23, x19, asr #27
-06997ed3| ubfiz x6, x8, #2, #39
-5dd054d3| ubfx x29, x2, #20, #33
-a54273d3| ubfiz x5, x21, #13, #17
-7d08d11a| udiv w29, w3, w17
-120acf9a| udiv x18, x16, x15
-1401a89b| umaddl x20, w8, w8, x0
-08feb29b| umnegl x8, w16, w18
-eeb0b99b| umsubl x14, w7, w25, x12
-967fdd9b| umulh x22, x28, x29
-947eb59b| umull x20, w20, w21
-7e1f0053| uxtb w30, w27
-983c0053| uxth w24, w4
-5f2003d5| wfe
-7f2003d5| wfi
-3f2003d5| yield
-02bb200e| abs v2.8b, v24.8b
-0686ec4e| add v6.2d, v16.2d, v12.2d
-ea42ac0e| addhn v10.2s, v23.2d, v12.2d
-7d43624e| addhn2 v29.8h, v27.4s, v2.4s
-2cbd710e| addp v12.4h, v9.4h, v17.4h
-f5bab14e| addv s21, v23.4s
-8158284e| aesd v1.16b, v4.16b
-ba48284e| aese v26.16b, v5.16b
-0c7a284e| aesimc v12.16b, v16.16b
-3e6a284e| aesmc v30.16b, v17.16b
-091f384e| and v9.16b, v24.16b, v24.16b
-07b6046f| bic v7.8h, #0x90, lsl #8
-00c5006f| mvni v0.4s, #0x8, msl #8
-f81e6c0e| bic v24.8b, v23.8b, v12.8b
-6f1ced2e| bif v15.8b, v3.8b, v13.8b
-e31da16e| bit v3.16b, v15.16b, v1.16b
-6a1d7c6e| bsl v10.16b, v11.16b, v28.16b
-284a600e| cls v8.4h, v17.4h
-9a49202e| clz v26.8b, v12.8b
-d78f706e| cmeq v23.8h, v30.8h, v16.8h
-7798e05e| cmeq d23, d3, #0
-739a200e| cmeq v19.8b, v19.8b, #0
-ff3f2b4e| cmge v31.16b, v31.16b, v11.16b
-5337370e| cmgt v19.8b, v26.8b, v23.8b
-3489604e| cmgt v20.8h, v9.8h, #0
-083d782e| cmhs v8.4h, v8.4h, v24.4h
-c899e07e| cmle d8, d14, #0
-3498a06e| cmle v20.4s, v1.4s, #0
-ebaa200e| cmlt v11.8b, v23.8b, #0
-408dfe4e| cmtst v0.2d, v10.2d, v30.2d
-0e06085e| mov d14, v16.d[0]
-1e0d0d0e| dup v30.8b, w8
-8e1d3a6e| eor v14.16b, v12.16b, v26.16b
-632a086e| ext v3.16b, v19.16b, v8.16b, #5
-97d7e57e| fabd d23, d28, d5
-6bd4a82e| fabd v11.2s, v3.2s, v8.2s
-f7faa00e| fabs v23.2s, v23.2s
-54c2201e| fabs s20, s18
-3ec3601e| fabs d30, d25
-2aee317e| facge s10, s17, s17
-2fed392e| facge v15.2s, v9.2s, v25.2s
-2befe97e| facgt d11, d25, d9
-65eced6e| facgt v5.2d, v3.2d, v13.2d
-55d53c4e| fadd v21.4s, v10.4s, v28.4s
-8b283f1e| fadd s11, s4, s31
-d828601e| fadd d24, d6, d0
-e9d8307e| faddp s9, v7.2s
-4084391e| fccmp s2, s25, #0x0, hi
-ef046d1e| fccmp d7, d13, #0xf, eq
-d7a4241e| fccmpe s6, s4, #0x7, ge
-dbf5601e| fccmpe d14, d0, #0xb, al
-77e7625e| fcmeq d23, d27, d2
-2de67f4e| fcmeq v13.2d, v17.2d, v31.2d
-59daa05e| fcmeq s25, s18, #0
-add9a00e| fcmeq v13.2s, v13.2s, #0
-dce42d7e| fcmge s28, s6, s13
-62e6776e| fcmge v2.2d, v19.2d, v23.2d
-f9cae07e| fcmge d25, d23, #0
-18e5ab7e| fcmgt s24, s8, s11
-84e7ae6e| fcmgt v4.4s, v28.4s, v14.4s
-a0c8e05e| fcmgt d0, d5, #0
-c6cae04e| fcmgt v6.2d, v22.2d, #0
-4fdaa07e| fcmle s15, s18, #0
-e1d9a02e| fcmle v1.2s, v15.2s, #0
-1ee9a05e| fcmlt s30, s8, #0
-23eaa04e| fcmlt v3.4s, v17.4s, #0
-6023321e| fcmp s27, s18
-2823391e| fcmp s25, #0
-00236d1e| fcmp d24, d13
-e820601e| fcmp d7, #0
-3022381e| fcmpe s17, s24
-f8233e1e| fcmpe s31, #0
-b0206a1e| fcmpe d5, d10
-3820691e| fcmpe d1, #0
-d85f271e| fcsel s24, s30, s7, pl
-ed8f7a1e| fcsel d13, d31, d26, hi
-0042e21e| fcvt s0, h16
-efc1e21e| fcvt d15, h15
-edc1231e| fcvt h13, s15
-0ac0221e| fcvt d10, s0
-39c3631e| fcvt h25, d25
-da43621e| fcvt s26, d30
-10cb615e| fcvtas d16, d24
-f400241e| fcvtas w20, s7
-2f00249e| fcvtas x15, s1
-1d02641e| fcvtas w29, d16
-9303649e| fcvtas x19, d28
-02ca217e| fcvtau s2, s16
-afc8212e| fcvtau v15.2s, v5.2s
-6e02251e| fcvtau w14, s19
-fd02259e| fcvtau x29, s23
-8603651e| fcvtau w6, d28
-4001659e| fcvtau x0, d10
-1f78210e| fcvtl v31.4s, v0.4h
-d179214e| fcvtl2 v17.4s, v14.8h
-fdbb615e| fcvtms d29, d31
-9601301e| fcvtms w22, s12
-f403309e| fcvtms x20, s31
-6b02701e| fcvtms w11, d19
-4802709e| fcvtms x8, d18
-84ba217e| fcvtmu s4, s20
-ae01311e| fcvtmu w14, s13
-8402319e| fcvtmu x4, s20
-7403711e| fcvtmu w20, d27
-2a03719e| fcvtmu x10, d25
-a36b210e| fcvtn v3.4h, v29.4s
-5c6a214e| fcvtn2 v28.8h, v18.4s
-78a9215e| fcvtns s24, s11
-b1ab614e| fcvtns v17.2d, v29.2d
-0c01201e| fcvtns w12, s8
-b303209e| fcvtns x19, s29
-c401601e| fcvtns w4, d14
-5200609e| fcvtns x18, d2
-c2a8617e| fcvtnu d2, d6
-daab616e| fcvtnu v26.2d, v30.2d
-d001211e| fcvtnu w16, s14
-0402219e| fcvtnu x4, s16
-7800611e| fcvtnu w24, d3
-e602619e| fcvtnu x6, d23
-74aaa15e| fcvtps s20, s19
-c801281e| fcvtps w8, s14
-8f02289e| fcvtps x15, s20
-6d02681e| fcvtps w13, d19
-bc00689e| fcvtps x28, d5
-43aba17e| fcvtpu s3, s26
-cda9a12e| fcvtpu v13.2s, v14.2s
-c102291e| fcvtpu w1, s22
-9103299e| fcvtpu x17, s28
-7602691e| fcvtpu w22, d19
-4501699e| fcvtpu x5, d10
-976a616e| fcvtxn2 v23.4s, v20.2d
-d5fc575f| fcvtzs d21, d6, #41
-babaa15e| fcvtzs s26, s21
-7aa6181e| fcvtzs w26, s19, #23
-c410189e| fcvtzs x4, s6, #60
-4db5589e| fcvtzs x13, d10, #19
-9000381e| fcvtzs w16, s4
-1702389e| fcvtzs x23, s16
-8a03781e| fcvtzs w10, d28
-d501789e| fcvtzs x21, d14
-eefd2d7f| fcvtzu s14, s15, #19
-4dfc3c6f| fcvtzu v13.4s, v2.4s, #4
-96bbe17e| fcvtzu d22, d28
-30b8e16e| fcvtzu v16.2d, v1.2d
-fdef191e| fcvtzu w29, s31, #5
-1d7b199e| fcvtzu x29, s24, #34
-b8f5591e| fcvtzu w24, d13, #3
-5080599e| fcvtzu x16, d2, #32
-d002391e| fcvtzu w16, s22
-9b03399e| fcvtzu x27, s28
-7501791e| fcvtzu w21, d11
-7603799e| fcvtzu x22, d27
-06fe3c6e| fdiv v6.4s, v16.4s, v28.4s
-c41b201e| fdiv s4, s30, s0
-1618781e| fdiv d22, d0, d24
-507b0d1f| fmadd s16, s26, s13, s30
-8803491f| fmadd d8, d28, d9, d0
-75f7394e| fmax v21.4s, v27.4s, v25.4s
-804b3c1e| fmax s0, s28, s28
-c1496c1e| fmax d1, d14, d12
-5b69371e| fmaxnm s27, s10, s23
-1468711e| fmaxnm d20, d0, d17
-a4c8707e| fmaxnmp d4, v5.2d
-89f9707e| fmaxp d9, v12.2d
-4af63e2e| fmaxp v10.2s, v18.2s, v30.2s
-25fa306e| fmaxv s5, v17.4s
-01f4e04e| fmin v1.2d, v0.2d, v0.2d
-59592a1e| fmin s25, s10, s10
-3959611e| fmin d25, d9, d1
-73c7ba4e| fminnm v19.4s, v27.4s, v26.4s
-1279391e| fminnm s18, s8, s25
-75796c1e| fminnm d21, d11, d12
-90cbb07e| fminnmp s16, v28.2s
-c5c8b06e| fminnmv s5, v6.4s
-cdfbf07e| fminp d13, v30.2d
-edf6f66e| fminp v13.2d, v23.2d, v22.2d
-6513b85f| fmla s5, s27, v24.s[1]
-ee18984f| fmla v14.4s, v7.4s, v24.s[2]
-b85ab75f| fmls s24, s21, v23.s[3]
-a3f5030f| fmov v3.2s, #9.062500000000000000e-01
-eaf7056f| fmov v10.2d, #-3.100000000000000000e+01
-3b41201e| fmov s27, s9
-0d41601e| fmov d13, d8
-9700271e| fmov s23, w4
-ad03261e| fmov w13, s29
-2302679e| fmov d3, x17
-e101af9e| fmov v1.d[1], x15
-f301669e| fmov x19, d15
-1103ae9e| fmov x17, v24.d[1]
-0230321e| fmov s2, #-4.250000000000000000e+00
-18b0751e| fmov d24, #-1.450000000000000000e+01
-92bc1b1f| fmsub s18, s4, s27, s15
-f8e14a1f| fmsub d24, d15, d10, d24
-ef91d35f| fmul d15, d15, v19.d[0]
-d293c24f| fmul v18.2d, v30.2d, v2.d[0]
-18dd2b2e| fmul v24.2s, v8.2s, v11.2s
-a4093d1e| fmul s4, s13, s29
-94096f1e| fmul d20, d12, d15
-fe918e7f| fmulx s30, s15, v14.s[0]
-7199c56f| fmulx v17.2d, v11.2d, v5.d[1]
-32dc695e| fmulx d18, d1, d9
-c8f9e06e| fneg v8.2d, v14.2d
-9c41211e| fneg s28, s12
-c443611e| fneg d4, d30
-e77f301f| fnmadd s7, s31, s16, s31
-9f326c1f| fnmadd d31, d20, d12, d12
-d9e92f1f| fnmsub s25, s14, s15, s26
-00ad711f| fnmsub d0, d8, d17, d11
-c889211e| fnmul s8, s14, s1
-528b761e| fnmul d18, d26, d22
-01d8e15e| frecpe d1, d0
-9aff7e5e| frecps d26, d28, d30
-78fe2a4e| frecps v24.4s, v19.4s, v10.4s
-01f9e15e| frecpx d1, d8
-128b216e| frinta v18.4s, v24.4s
-b241261e| frinta s18, s13
-a841661e| frinta d8, d13
-799aa16e| frinti v25.4s, v19.4s
-1cc2271e| frinti s28, s16
-93c2671e| frinti d19, d20
-1a40251e| frintm s26, s0
-ac42651e| frintm d12, d21
-5889214e| frintn v24.4s, v10.4s
-5740241e| frintn s23, s2
-9443641e| frintn d20, d28
-4b89a10e| frintp v11.2s, v10.2s
-a0c1241e| frintp s0, s13
-93c2641e| frintp d19, d20
-d49b216e| frintx v20.4s, v30.4s
-df41271e| frintx s31, s14
-8d41671e| frintx d13, d12
-3998a10e| frintz v25.2s, v1.2s
-fdc2251e| frintz s29, s23
-abc2651e| frintz d11, d21
-10dba17e| frsqrte s16, s24
-edd9e16e| frsqrte v13.2d, v15.2d
-75ffe35e| frsqrts d21, d27, d3
-b4fdbe4e| frsqrts v20.4s, v13.4s, v30.4s
-24f8a16e| fsqrt v4.4s, v1.4s
-b6c1211e| fsqrt s22, s13
-c1c3611e| fsqrt d1, d30
-ffd5b44e| fsub v31.4s, v15.4s, v20.4s
-d438331e| fsub s20, s6, s19
-f038771e| fsub d16, d7, d23
-675e1a6e| mov v7.h[6], v19.h[5]
-2a1c0a4e| mov v10.h[2], w1
-de7f400c| ld1 {v30.1d}, [x30]
-4aa7404c| ld1 {v10.8h, v11.8h}, [x26]
-5d61400c| ld1 {v29.8b-v31.8b}, [x10]
-af21404c| ld1 {v15.16b-v18.16b}, [x13]
-737edf0c| ld1 {v19.1d}, [x19],#8
-757dd10c| ld1 {v21.1d}, [x11], x17
-5ca3df4c| ld1 {v28.16b, v29.16b}, [x26],#32
-93a1ce0c| ld1 {v19.8b, v20.8b}, [x12], x14
-1c65df0c| ld1 {v28.4h-v30.4h}, [x8],#24
-4461d34c| ld1 {v4.16b-v6.16b}, [x10], x19
-b22edf4c| ld1 {v18.2d-v21.2d}, [x21],#64
-c12fcc4c| ld1 {v1.2d-v4.2d}, [x30], x12
-5a03400d| ld1 {v26.b}[0], [x26]
-8d93404d| ld1 {v13.s}[3], [x28]
-2186404d| ld1 {v1.d}[1], [x17]
-9604df4d| ld1 {v22.b}[9], [x4],#1
-4a1dc94d| ld1 {v10.b}[15], [x10], x9
-4852df4d| ld1 {v8.h}[6], [x18],#2
-2582df4d| ld1 {v5.s}[2], [x17],#4
-2191c84d| ld1 {v1.s}[3], [x9], x8
-c284df4d| ld1 {v2.d}[1], [x6],#8
-8f85ce0d| ld1 {v15.d}[0], [x12], x14
-87cd400d| ld1r {v7.1d}, [x12]
-3bc8df4d| ld1r {v27.4s}, [x1],#4
-77c4dd4d| ld1r {v23.8h}, [x3], x29
-5384404c| ld2 {v19.8h, v20.8h}, [x2]
-ca87df0c| ld2 {v10.4h, v11.4h}, [x30],#16
-1280d70c| ld2 {v18.8b, v19.8b}, [x0], x23
-4c0a604d| ld2 {v12.b, v13.b}[10], [x18]
-3080600d| ld2 {v16.s, v17.s}[0], [x1]
-6686600d| ld2 {v6.d, v7.d}[0], [x19]
-061eff0d| ld2 {v6.b, v7.b}[7], [x16],#2
-db05fa0d| ld2 {v27.b, v28.b}[1], [x14], x26
-8a49ff4d| ld2 {v10.h, v11.h}[5], [x12],#4
-bb59ec4d| ld2 {v27.h, v28.h}[7], [x13], x12
-5a82ff0d| ld2 {v26.s, v27.s}[0], [x18],#8
-6180e30d| ld2 {v1.s, v2.s}[0], [x3], x3
-6485ff0d| ld2 {v4.d, v5.d}[0], [x11],#16
-7c86ed4d| ld2 {v28.d, v29.d}[1], [x19], x13
-54c0604d| ld2r {v20.16b, v21.16b}, [x2]
-fdcaff0d| ld2r {v29.2s, v30.2s}, [x23],#8
-7bc5e40d| ld2r {v27.4h, v28.4h}, [x11], x4
-b349404c| ld3 {v19.4s-v21.4s}, [x13]
-cf46df4c| ld3 {v15.8h-v17.8h}, [x22],#48
-934acc4c| ld3 {v19.4s-v21.4s}, [x20], x12
-2c33404d| ld3 {v12.b-v14.b}[12], [x25]
-897a400d| ld3 {v9.h-v11.h}[3], [x20]
-f9b2400d| ld3 {v25.s-v27.s}[1], [x23]
-4aa7404d| ld3 {v10.d-v12.d}[1], [x26]
-4e25df4d| ld3 {v14.b-v16.b}[9], [x10],#3
-7827c40d| ld3 {v24.b-v26.b}[1], [x27], x4
-c4a3df4d| ld3 {v4.s-v6.s}[2], [x30],#12
-f0a1cf0d| ld3 {v16.s-v18.s}[0], [x15], x15
-1ba7df0d| ld3 {v27.d-v29.d}[0], [x24],#24
-f7a7d50d| ld3 {v23.d-v25.d}[0], [sp], x21
-a9ed404d| ld3r {v9.2d-v11.2d}, [x13]
-5aecdf4d| ld3r {v26.2d-v28.2d}, [x2],#24
-bae9c74d| ld3r {v26.4s-v28.4s}, [x13], x7
-5904404c| ld4 {v25.8h-v28.8h}, [x2]
-743b604d| ld4 {v20.b-v23.b}[14], [x27]
-bda1600d| ld4 {v29.s, v30.s, v31.s, v0.s}[0], [x13]
-a3a4600d| ld4 {v3.d-v6.d}[0], [x5]
-2f3aff4d| ld4 {v15.b-v18.b}[14], [x17],#4
-e73bef4d| ld4 {v7.b-v10.b}[14], [sp], x15
-5d78ef0d| ld4 {v29.h, v30.h, v31.h, v0.h}[3], [x2], x15
-acb3ff0d| ld4 {v12.s-v15.s}[1], [x29],#16
-a8b2f04d| ld4 {v8.s-v11.s}[3], [x21], x16
-75a7ff4d| ld4 {v21.d-v24.d}[1], [x27],#32
-75a6ee4d| ld4 {v21.d-v24.d}[1], [x19], x14
-d8e3604d| ld4r {v24.16b-v27.16b}, [x30]
-49e9ff0d| ld4r {v9.2s-v12.2s}, [x10],#16
-81effc0d| ld4r {v1.1d-v4.1d}, [x28], x28
-893e622c| ldnp s9, s15, [x20,#-240]
-f90e626c| ldnp d25, d3, [x23,#-480]
-b0224fac| ldnp q16, q8, [x21,#480]
-9186de2c| ldp s17, s1, [x20],#244
-e820d06c| ldp d8, d8, [x7],#256
-417de8ac| ldp q1, q31, [x10],#-768
-7969ed2d| ldp s25, s26, [x11,#-152]!
-70c8c36d| ldp d16, d18, [x3,#56]!
-30b4c4ad| ldp q16, q13, [x1,#144]!
-a1857f2d| ldp s1, s1, [x13,#-4]
-f4ae786d| ldp d20, d11, [x23,#-120]
-998366ad| ldp q25, q0, [x28,#-816]
-7535453c| ldr b21, [x11],#83
-5465477c| ldr h20, [x10],#118
-a2b44bbc| ldr s2, [x5],#187
-ab045bfc| ldr d11, [x5],#-80
-0515d43c| ldr q5, [x8],#-191
-43ad413c| ldr b3, [x10,#26]!
-22cd4f7c| ldr h2, [x9,#252]!
-5fad44bc| ldr s31, [x10,#74]!
-db7d5afc| ldr d27, [x14,#-89]!
-15ccd63c| ldr q21, [x0,#-148]!
-95c34b3d| ldr b21, [x28,#752]
-f5885e7d| ldr h21, [x7,#3908]
-54db66bd| ldr s20, [x26,#9944]
-46ee78fd| ldr d6, [x18,#29144]
-0cc4e93d| ldr q12, [x0,#42768]
-e1c4211c| ldr s1, .+0x4389c
-2071c35c| ldr d0, .+0xfffffffffff86e24
-4765789c| ldr q7, .+0xf0ca8
-ae79703c| ldr b14, [x13,x16,lsl #0]
-38fb67bc| ldr s24, [x25,x7,sxtx #2]
-3e6b6dfc| ldr d30, [x25,x13]
-a278ff3c| ldr q2, [x5,xzr,lsl #4]
-ed02563c| ldur b13, [x23,#-160]
-01c0507c| ldur h1, [x0,#-244]
-7fd24ebc| ldur s31, [x19,#237]
-7a734ffc| ldur d26, [x27,#247]
-d4a3dd3c| ldur q20, [x30,#-38]
-1c97250e| mla v28.8b, v24.8b, v5.8b
-af97a12e| mls v15.2s, v29.2s, v1.2s
-2b061f5e| mov b11, v17.b[15]
-805e086e| mov v0.d[0], v20.d[1]
-d91fbc4e| orr v25.16b, v30.16b, v28.16b
-a43f040e| mov w4, v29.s[0]
-fbe6054f| movi v27.16b, #0xb7
-9b75024f| orr v27.4s, #0x4c, lsl #24
-8436020f| orr v4.2s, #0x54, lsl #8
-19f5010f| fmov v25.2s, #1.200000000000000000e+01
-02e5062f| movi d2, #0xffff0000ff000000
-d6e5066f| movi v22.2d, #0xffff0000ffffff00
-be9c240e| mul v30.8b, v5.8b, v4.8b
-2659202e| mvn v6.8b, v9.8b
-f394046f| bic v19.8h, #0x87
-d856056f| bic v24.4s, #0xb6, lsl #16
-2f85022f| mvni v15.4h, #0x49
-24baa02e| neg v4.2s, v17.2s
-145b206e| mvn v20.16b, v24.16b
-191fff4e| orn v25.16b, v24.16b, v31.16b
-6f96004f| orr v15.8h, #0x13
-a564020f| movi v5.2s, #0x45, lsl #24
-ae1ead0e| orr v14.8b, v21.8b, v13.8b
-f2e1e00e| pmull v18.1q, v15.1d, v0.1d
-0d426e2e| raddhn v13.4h, v16.4s, v14.4s
-4443246e| raddhn2 v4.16b, v26.8h, v4.8h
-015b602e| rbit v1.8b, v24.8b
-4209202e| rev32 v2.8b, v10.8b
-d109a04e| rev64 v17.4s, v14.4s
-5a8e380f| rshrn v26.2s, v18.2d, #8
-438d234f| rshrn2 v3.4s, v10.2d, #29
-a861716e| rsubhn2 v8.8h, v13.4s, v17.4s
-017c2f0e| saba v1.8b, v0.8b, v15.8b
-5d51a90e| sabal v29.2d, v10.2s, v9.2s
-c076a04e| sabd v0.4s, v22.4s, v0.4s
-2d722e0e| sabdl v13.8h, v17.8b, v14.8b
-1f732e4e| sabdl2 v31.8h, v24.16b, v14.16b
-c628604e| saddlp v6.4s, v6.8h
-103b704e| saddlv s16, v24.8h
-8f122f0e| saddw v15.8h, v20.8h, v15.8b
-30e6755f| scvtf d16, d17, #11
-73e7544f| scvtf v19.2d, v27.2d, #44
-51d9615e| scvtf d17, d10
-fad9210e| scvtf v26.2s, v15.2s
-96c0421e| scvtf d22, w4, #16
-76e1029e| scvtf s22, x11, #8
-a791429e| scvtf d7, x13, #28
-f100221e| scvtf s17, w7
-e101621e| scvtf d1, w15
-6e03229e| scvtf s14, x27
-0b01629e| scvtf d11, x8
-2401025e| sha1c q4, s9, v2.4s
-5d08285e| sha1h s29, s2
-65210d5e| sha1m q5, s11, v13.4s
-29131a5e| sha1p q9, s25, v26.4s
-2b311a5e| sha1su0 v11.4s, v9.4s, v26.4s
-0919285e| sha1su1 v9.4s, v8.4s
-f052035e| sha256h2 q16, q23, v3.4s
-fe401e5e| sha256h q30, q7, v30.4s
-7529285e| sha256su0 v21.4s, v11.4s
-cc60195e| sha256su1 v12.4s, v6.4s, v25.4s
-8b56060f| orr v11.2s, #0xd4, lsl #16
-3f3aa16e| shll2 v31.2d, v17.4s, #32
-0986394f| shrn2 v9.4s, v16.2d, #7
-35276e4e| shsub v21.8h, v25.8h, v14.8h
-e2556d7f| sli d2, d15, #45
-f7541e6f| sli v23.8h, v7.8h, #14
-3167630e| smax v17.4h, v25.4h, v3.4h
-68a6230e| smaxp v8.8b, v19.8b, v3.8b
-a4aa304e| smaxv b4, v21.16b
-2520440f| smlal v5.4s, v1.4h, v4.h[0]
-8c286f4f| smlal2 v12.4s, v4.8h, v15.h[6]
-3a82660e| smlal v26.4s, v17.4h, v6.4h
-d92f1f0e| smov w25, v30.b[15]
-912d114e| smov x17, v12.b[8]
-b87ae05e| sqabs d24, d21
-2d7b200e| sqabs v13.8b, v25.8b
-560f645e| sqadd h22, h26, h4
-4f0da54e| sqadd v15.4s, v10.4s, v5.4s
-5992ba5e| sqdmlal d25, s18, s26
-b892684e| sqdmlal2 v24.4s, v21.8h, v8.8h
-63786e5f| sqdmlsl s3, h3, v14.h[6]
-0c79a10f| sqdmlsl v12.2d, v8.2s, v1.s[3]
-1d73504f| sqdmlsl2 v29.4s, v24.8h, v0.h[1]
-6cb36c5e| sqdmlsl s12, h27, h12
-82b36e4e| sqdmlsl2 v2.4s, v28.8h, v14.8h
-8dca5d4f| sqdmulh v13.8h, v20.8h, v13.h[5]
-fcb6b64e| sqdmulh v28.4s, v23.4s, v22.4s
-d6b0974f| sqdmull2 v22.2d, v6.4s, v23.s[0]
-afd0b84e| sqdmull2 v15.2d, v5.4s, v24.4s
-067b207e| sqneg b6, b24
-9979606e| sqneg v25.8h, v12.8h
-bfdbae0f| sqrdmulh v31.2s, v29.2s, v14.s[3]
-c3b7a07e| sqrdmulh s3, s30, s0
-845d3d5e| sqrshl b4, b12, b29
-495dba0e| sqrshl v9.2s, v10.2s, v26.2s
-fa8e0d7f| sqrshrun b26, h23, #3
-cf75185f| sqshl h15, h14, #8
-a975250f| sqshl v9.2s, v13.2s, #5
-424da05e| sqshl s2, s10, s0
-464db90e| sqshl v6.2s, v10.2s, v25.2s
-af656d7f| sqshlu d15, d13, #45
-e564436f| sqshlu v5.2d, v7.2d, #3
-c1973b5f| sqshrn s1, d30, #5
-d586036f| mvni v21.8h, #0x76
-4c2ea95e| sqsub s12, s18, s9
-df2efe4e| sqsub v31.2d, v22.2d, v30.2d
-c149a10e| sqxtn v1.2s, v14.2d
-712a217e| sqxtun b17, h19
-9a29a12e| sqxtun v26.2s, v12.2d
-6a166e0e| srhadd v10.4h, v19.4h, v14.4h
-0445647f| sri d4, d8, #28
-6f44172f| sri v15.4h, v3.4h, #9
-cd56f94e| srshl v13.2d, v22.2d, v25.2d
-12345b5f| srsra d18, d0, #37
-f746fa5e| sshl d23, d23, d26
-89476c4e| sshl v9.8h, v28.8h, v12.8h
-0da60e0f| sshll v13.8h, v16.8b, #6
-a504585f| sshr d5, d5, #40
-3b07544f| sshr v27.2d, v25.2d, #44
-3417350f| ssra v20.2s, v25.2s, #11
-1a213f0e| ssubl v26.8h, v8.8b, v31.8b
-1322a34e| ssubl2 v19.2d, v16.4s, v3.4s
-e931b84e| ssubw2 v9.2d, v15.2d, v24.4s
-dd7d004c| st1 {v29.2d}, [x14]
-cea4000c| st1 {v14.4h, v15.4h}, [x6]
-5a64000c| st1 {v26.4h-v28.4h}, [x2]
-2b2c004c| st1 {v11.2d-v14.2d}, [x1]
-39719f0c| st1 {v25.8b}, [x9],#8
-b771874c| st1 {v23.16b}, [x13], x7
-1da39f0c| st1 {v29.8b, v30.8b}, [x24],#16
-20a0800c| st1 {v0.8b, v1.8b}, [x1], x0
-5a6a9f4c| st1 {v26.4s-v28.4s}, [x18],#48
-0d69994c| st1 {v13.4s-v15.4s}, [x8], x25
-7e239f0c| st1 {v30.8b, v31.8b, v0.8b, v1.8b}, [x27],#32
-9a2d8e0c| st1 {v26.1d-v29.1d}, [x12], x14
-fd0b004d| st1 {v29.b}[10], [sp]
-1058004d| st1 {v16.h}[7], [x0]
-0593000d| st1 {v5.s}[1], [x24]
-3d87000d| st1 {v29.d}[0], [x25]
-1a079f0d| st1 {v26.b}[1], [x24],#1
-421b8f4d| st1 {v2.b}[14], [x26], x15
-54489f4d| st1 {v20.h}[5], [x2],#2
-c4809f4d| st1 {v4.s}[2], [x6],#4
-0481840d| st1 {v4.s}[0], [x8], x4
-6b859f0d| st1 {v11.d}[0], [x11],#8
-f7878e4d| st1 {v23.d}[1], [sp], x14
-e788004c| st2 {v7.4s, v8.4s}, [x7]
-79889f0c| st2 {v25.2s, v26.2s}, [x3],#16
-a502204d| st2 {v5.b, v6.b}[8], [x21]
-0e50204d| st2 {v14.h, v15.h}[6], [x0]
-6b93204d| st2 {v11.s, v12.s}[3], [x27]
-0987200d| st2 {v9.d, v10.d}[0], [x24]
-7003bf0d| st2 {v16.b, v17.b}[0], [x27],#2
-1a09a94d| st2 {v26.b, v27.b}[10], [x8], x9
-1e43b00d| st2 {v30.h, v31.h}[0], [x24], x16
-1a82bf0d| st2 {v26.s, v27.s}[0], [x16],#8
-9892a50d| st2 {v24.s, v25.s}[1], [x20], x5
-5884bf0d| st2 {v24.d, v25.d}[0], [x2],#16
-9e87a34d| st2 {v30.d, v31.d}[1], [x28], x3
-4e47004c| st3 {v14.8h-v16.8h}, [x26]
-76489f4c| st3 {v22.4s-v24.4s}, [x3],#48
-3b48860c| st3 {v27.2s-v29.2s}, [x1], x6
-e52a000d| st3 {v5.b-v7.b}[2], [x23]
-6f73004d| st3 {v15.h-v17.h}[6], [x27]
-9bb1004d| st3 {v27.s-v29.s}[3], [x12]
-0ca7000d| st3 {v12.d-v14.d}[0], [x24]
-2a259f0d| st3 {v10.b-v12.b}[1], [x9],#3
-0524860d| st3 {v5.b-v7.b}[1], [x0], x6
-94689a4d| st3 {v20.h-v22.h}[5], [x4], x26
-c2a19f4d| st3 {v2.s-v4.s}[2], [x14],#12
-5fb38c0d| st3 {v31.s, v0.s, v1.s}[1], [x26], x12
-6da59f4d| st3 {v13.d-v15.d}[1], [x11],#24
-32a7924d| st3 {v18.d-v20.d}[1], [x25], x18
-5b03000c| st4 {v27.8b-v30.8b}, [x26]
-cd059f0c| st4 {v13.4h-v16.4h}, [x14],#32
-8601820c| st4 {v6.8b-v9.8b}, [x12], x2
-7925200d| st4 {v25.b-v28.b}[1], [x11]
-cd7a204d| st4 {v13.h-v16.h}[7], [x22]
-dfb2204d| st4 {v31.s, v0.s, v1.s, v2.s}[3], [x22]
-daa4200d| st4 {v26.d-v29.d}[0], [x6]
-2135bf0d| st4 {v1.b-v4.b}[5], [x9],#4
-7727a90d| st4 {v23.b-v26.b}[1], [x27], x9
-b4a3bf0d| st4 {v20.s-v23.s}[0], [x29],#16
-1ba3ae0d| st4 {v27.s-v30.s}[0], [x24], x14
-93a4bf0d| st4 {v19.d-v22.d}[0], [x4],#32
-50a6b80d| st4 {v16.d-v19.d}[0], [x18], x24
-79b53d2c| stnp s25, s13, [x11,#-20]
-d895326c| stnp d24, d5, [x14,#-216]
-d1810dac| stnp q17, q0, [x14,#432]
-08728c2c| stp s8, s28, [x16],#96
-ac1ba16c| stp d12, d6, [x29],#-496
-f4fab1ac| stp q20, q30, [x23],#-464
-c15bbe2d| stp s1, s22, [x30,#-16]!
-2422856d| stp d4, d8, [x17,#80]!
-3d5282ad| stp q29, q20, [x17,#64]!
-5df5352d| stp s29, s29, [x10,#-84]
-5c54286d| stp d28, d21, [x2,#-384]
-753c11ad| stp q21, q15, [x3,#544]
-54e4033c| str b20, [x2],#62
-aa54137c| str h10, [x5],#-203
-c9d615bc| str s9, [x22],#-163
-fc471efc| str d28, [sp],#-28
-20f78d3c| str q0, [x25],#223
-028d1b3c| str b2, [x8,#-72]!
-35be037c| str h21, [x17,#59]!
-b98c15bc| str s25, [x5,#-168]!
-fd1e11fc| str d29, [x23,#-239]!
-13ec9a3c| str q19, [x0,#-82]!
-b12d123d| str b17, [x13,#1163]
-d6500b7d| str h22, [x6,#1448]
-d46e39bd| str s20, [x22,#14700]
-b84f30fd| str d24, [x29,#24728]
-3cee993d| str q28, [x17,#26544]
-4348293c| str b3, [x2,w9,uxtw]
-ed7b253c| str b13, [sp,x5,lsl #0]
-8fc9357c| str h15, [x12,w21,sxtw]
-87f832bc| str s7, [x4,x18,sxtx #2]
-f1ea38fc| str d17, [x23,x24,sxtx]
-1c68a43c| str q28, [x0,x4]
-dcb1023c| stur b28, [x14,#43]
-6701117c| stur h7, [x11,#-240]
-85b11bbc| stur s5, [x12,#-69]
-8ea10efc| stur d14, [x12,#234]
-eab08f3c| stur q10, [x7,#251]
-ca876a2e| sub v10.4h, v30.4h, v10.4h
-603be05e| suqadd d0, d27
-513a600e| suqadd v17.4h, v18.4h
-25231c4e| tbl v5.16b, {v25.16b, v26.16b}, v28.16b
-8c40100e| tbl v12.8b, {v4.16b-v6.16b}, v16.8b
-0462040e| tbl v4.8b, {v16.16b-v19.16b}, v4.8b
-34000f0e| tbl v20.8b, {v1.16b}, v15.8b
-eb301f4e| tbx v11.16b, {v7.16b, v8.16b}, v31.16b
-bb51124e| tbx v27.16b, {v13.16b-v15.16b}, v18.16b
-cf701d0e| tbx v15.8b, {v6.16b-v9.16b}, v29.8b
-4213080e| tbx v2.8b, {v26.16b}, v8.8b
-2b2b114e| trn1 v11.16b, v25.16b, v17.16b
-766ada4e| trn2 v22.2d, v19.2d, v26.2d
-4152672e| uabal v1.4s, v18.4h, v7.4h
-0953296e| uabal2 v9.8h, v24.16b, v9.16b
-41756c6e| uabd v1.8h, v10.8h, v12.8h
-3670ae2e| uabdl v22.2d, v1.2s, v14.2s
-5401312e| uaddl v20.8h, v10.8b, v17.8b
-d103286e| uaddl2 v17.8h, v30.16b, v8.16b
-a92a206e| uaddlp v9.8h, v21.16b
-b839706e| uaddlv s24, v13.8h
-ea106d2e| uaddw v10.4s, v7.4s, v13.4h
-c010726e| uaddw2 v0.4s, v6.4s, v18.8h
-e7e5517f| ucvtf d7, d15, #47
-49e7376f| ucvtf v9.4s, v26.4s, #9
-4ada617e| ucvtf d10, d18
-6b82431e| ucvtf d11, w19, #32
-db84039e| ucvtf s27, x6, #31
-1c72439e| ucvtf d28, x16, #36
-f301231e| ucvtf s19, w15
-3503631e| ucvtf d21, w25
-e602239e| ucvtf s6, x23
-d503639e| ucvtf d21, x30
-ec04606e| uhadd v12.8h, v7.8h, v0.8h
-3f65782e| umax v31.4h, v9.4h, v24.4h
-afa6232e| umaxp v15.8b, v21.8b, v3.8b
-cdaa706e| umaxv h13, v22.8h
-736c236e| umin v19.16b, v3.16b, v3.16b
-a0afa62e| uminp v0.2s, v29.2s, v6.2s
-3c229e2f| umlal v28.2d, v17.2s, v30.s[0]
-9d29a56f| umlal2 v29.2d, v12.4s, v5.s[3]
-6c80392e| umlal v12.8h, v3.8b, v25.8b
-4f60692f| umlsl v15.4s, v2.4h, v9.h[2]
-61a1606e| umlsl2 v1.4s, v11.8h, v0.8h
-183e0b0e| umov w24, v16.b[5]
-c0a89b6f| umull2 v0.2d, v6.4s, v27.s[2]
-36c0736e| umull2 v22.4s, v1.8h, v19.8h
-120d757e| uqadd h18, h8, h21
-3a0c2e2e| uqadd v26.8b, v1.8b, v14.8b
-0d5d617e| uqrshl h13, h8, h1
-4d5cb16e| uqrshl v13.4s, v2.4s, v17.4s
-439c382f| uqrshrn v3.2s, v2.2d, #8
-9d745c7f| uqshl d29, d4, #28
-7b76656f| uqshl v27.2d, v19.2d, #37
-774ef37e| uqshl d23, d19, d19
-124eb32e| uqshl v18.2s, v16.2s, v19.2s
-bc961f6f| uqshrn2 v28.8h, v21.4s, #1
-a62ce07e| uqsub d6, d5, d0
-0f2dae2e| uqsub v15.2s, v8.2s, v14.2s
-b24b217e| uqxtn b18, h29
-f148216e| uqxtn2 v17.16b, v7.8h
-7d15a42e| urhadd v29.2s, v11.2s, v4.2s
-9055fc6e| urshl v16.2d, v12.2d, v28.2d
-eb275e7f| urshr d11, d31, #34
-c0347c7f| ursra d0, d6, #4
-fe44e97e| ushl d30, d7, d9
-fa47e86e| ushl v26.2d, v31.2d, v8.2d
-95a7262f| ushll v21.2d, v28.2s, #6
-9ca7096f| ushll2 v28.8h, v28.16b, #1
-8a07527f| ushr d10, d28, #46
-c7076b6f| ushr v7.2d, v30.2d, #21
-8d39e07e| usqadd d13, d12
-f716727f| usra d23, d23, #14
-3f14066f| bic v31.4s, #0xc1
-b423ac2e| usubl v20.2d, v29.2s, v12.2s
-7c22736e| usubl2 v28.4s, v19.8h, v19.8h
-76317d2e| usubw v22.4s, v11.4s, v29.4h
-8f302a6e| usubw2 v15.8h, v4.8h, v10.16b
-c5a4286f| ushll2 v5.2d, v6.4s, #8
-d3198c0e| uzp1 v19.2s, v14.2s, v12.2s
-c05bdb4e| uzp2 v0.2d, v30.2d, v27.2d
-362b610e| xtn v22.4h, v25.4s
-0c29214e| xtn2 v12.16b, v8.8h
-2b39c64e| zip1 v11.2d, v9.2d, v6.2d
-9500091a| adc w21, w4, w9
-c2001a9a| adc x2, x6, x26
-6a02163a| adcs w10, w19, w22
-0c0118ba| adcs x12, x8, x24
-b1c42b0b| add w17, w5, w11, sxtw #1
-bf15368b| add sp, x13, w22, uxtb #5
-be1f468b| add x30, x29, x6, lsr #7
-8f51352b| adds w15, w12, w21, uxtw #4
-97043eab| adds x23, x4, w30, uxtb #1
-09b00931| adds w9, w0, #0x26c
-4de204ab| adds x13, x18, x4, lsl #56
-bba87030| adr x27, .+0xe1515
-a9bf40d0| adrp x9, .+0x817f6000
-f6b60912| and w22, w23, #0xff9fff9f
-a6d13b92| and x6, x13, #0xe3e3e3e3e3e3e3e3
-1cc0138a| and x28, x0, x19, lsl #48
-73882072| ands w19, w3, #0x70007
-b5780af2| ands x21, x5, #0xffdfffffffdfffff
-766c90ea| ands x22, x3, x16, asr #27
-a72ac31a| asr w7, w21, w3
-ff28d59a| asr xzr, x7, x21
-3e7f0913| asr w30, w25, #9
-bafd5493| asr x26, x13, #20
-302ad21a| asr w16, w17, w18
-602bd79a| asr x0, x27, x23
-4fa4df54| b.al .+0xfffffffffffbf488
-a2e9cf15| b .+0x73fa688
-eff373b3| bfxil x15, xzr, #51, #10
-9e3e7db3| bfi x30, x20, #3, #16
-87fa41b3| bfxil x7, x20, #1, #62
-b831f80a| bic w24, w13, w24, ror #12
-ffe0ae8a| bic xzr, x7, x14, asr #56
-7c2c276a| bics w28, w3, w7, lsl #11
-ccf2fbea| bics x12, x22, x27, ror #60
-722cd195| bl .+0x744b1c8
-20003fd6| blr x1
-e0021fd6| br x23
-80db37d4| brk #0xbedc
-f25a4335| cbnz w18, .+0x86b5c
-5d5376b5| cbnz x29, .+0xeca68
-5ce56834| cbz w28, .+0xd1ca8
-29b08cb4| cbz x9, .+0xfffffffffff19604
-e048533a| ccmn w7, #0x13, #0x0, mi
-e7da4fba| ccmn x23, #0xf, #0x7, le
-67f2583a| ccmn w19, w24, #0x7, al
-60a05aba| ccmn x3, x26, #0x0, ge
-6a3b517a| ccmp w27, #0x11, #0xa, cc
-8a4b55fa| ccmp x28, #0x15, #0xa, mi
-ed934b7a| ccmp wzr, w11, #0xd, ls
-24414ffa| ccmp x9, x15, #0x4, mi
-0e169c1a| csinc w14, w16, w28, ne
-8264949a| csinc x2, x4, x20, vs
-b363935a| csinv w19, w29, w19, vs
-ff619dda| csinv xzr, x15, x29, vs
-5f3703d5| clrex #0x7
-0017c05a| cls w0, w24
-8216c0da| cls x2, x20
-3310c05a| clz w19, w1
-6e13c0da| clz x14, x27
-7fd02b2b| cmn w3, w11, sxtw #4
-5f3928ab| cmn x10, w8, uxth #6
-1fb92cb1| cmn x8, #0xb2e
-ff164eab| cmn x23, x14, lsr #5
-ff71256b| cmp w15, w5, uxtx #4
-df6034eb| cmp x6, x20, uxtx
-ff776af1| cmp sp, #0xa9d, lsl #12
-80e4855a| csneg w0, w4, w5, al
-da3490da| csneg x26, x6, x16, cc
-af40c71a| crc32b w15, w5, w7
-c546cf1a| crc32h w5, w22, w15
-6148c01a| crc32w w1, w3, w0
-0f4eda9a| crc32x w15, w16, x26
-4950d01a| crc32cb w9, w2, w16
-8155c31a| crc32ch w1, w12, w3
-835ace1a| crc32cw w3, w20, w14
-f05fc59a| crc32cx w16, wzr, x5
-0ae3901a| csel w10, w24, w16, al
-ed51969a| csel x13, x15, x22, pl
-ee679f1a| cset w14, vc
-ed579f9a| cset x13, mi
-f2539f5a| csetm w18, mi
-ffe39fda| csinv xzr, xzr, xzr, al
-9d25941a| csinc w29, w12, w20, cs
-afb7829a| csinc x15, x29, x2, lt
-7602895a| csinv w22, w19, w9, eq
-011394da| csinv x1, x24, x20, ne
-68b7935a| csneg w8, w27, w19, lt
-a32784da| csneg x3, x29, x4, cs
-8159a6d4| dcps1 #0x32cc
-c2d9aad4| dcps2 #0x56ce
-63ceb7d4| dcps3 #0xbe73
-bf3903d5| dmb ishld
-e003bfd6| drps
-9f3603d5| dsb nshst
-fc76a9ca| eon x28, x23, x9, asr #29
-540f2352| eor w20, w26, #0xe0000001
-187e1ed2| eor x24, x16, #0xffffffffffffffff
-fd37004a| eor w29, wzr, w0, lsl #13
-b8c542ca| eor x24, x13, x2, lsr #49
-e0039fd6| eret
-5f26c193| extr xzr, x18, x1, #9
-7f2003d5| wfi
-ff2a03d5| hint #0x57
-804a59d4| hlt #0xca54
-df3003d5| isb #0x0
-10fcdf88| ldar w16, [x0]
-fafcdfc8| ldar x26, [x7]
-30fedf08| ldarb w16, [x17]
-63fedf48| ldarh w3, [x19]
-82ba7f88| ldaxp w2, w14, [x20]
-d6917fc8| ldaxp x22, x4, [x14]
-59ff5f88| ldaxr w25, [x26]
-fefe5fc8| ldaxr x30, [x23]
-a0fc5f08| ldaxrb w0, [x5]
-fafd5f48| ldaxrh w26, [x15]
-b8804428| ldnp w24, w0, [x5,#36]
-93e969a8| ldnp x19, x26, [x12,#-360]
-caccef28| ldp w10, w19, [x6],#-132
-7365c3a8| ldp x19, x25, [x11],#48
-3106ca29| ldp w17, w1, [x17,#80]!
-0c02f7a9| ldp x12, x0, [x16,#-144]!
-41af6529| ldp w1, w11, [x26,#-212]
-706b65a9| ldp x16, x26, [x27,#-432]
-746ecf68| ldpsw x20, x27, [x19],#120
-c051c669| ldpsw x0, x20, [x14,#48]!
-aded5b69| ldpsw x13, x27, [x13,#220]
-990457b8| ldr w25, [x4],#-144
-bbd556f8| ldr x27, [x13],#-147
-a45c51b8| ldr w4, [x5,#-235]!
-344c41f8| ldr x20, [x1,#20]!
-2d8755b9| ldr w13, [x25,#5508]
-56e360f9| ldr x22, [x26,#16832]
-1739b718| ldr w23, .+0xfffffffffff6e720
-97b91c58| ldr x23, .+0x39730
-3b264e38| ldrb w27, [x17],#226
-898f5738| ldrb w9, [x28,#-136]!
-c44e6839| ldrb w4, [x22,#2579]
-2d687738| ldrb w13, [x1,x23]
-4d475978| ldrh w13, [x26],#-108
-39de5278| ldrh w25, [x17,#-211]!
-9cc54879| ldrh w28, [x12,#1122]
-87fb6978| ldrh w7, [x28,x9,sxtx #1]
-3967cb38| ldrsb w25, [x25],#182
-abf69438| ldrsb x11, [x21],#-177
-159ed138| ldrsb w21, [x16,#-231]!
-b63e8038| ldrsb x22, [x21,#3]!
-4491c939| ldrsb w4, [x10,#612]
-497e8039| ldrsb x9, [x18,#31]
-7d6bf638| ldrsb w29, [x27,x22]
-e578ba38| ldrsb x5, [x7,x26,lsl #0]
-9f06ca78| ldrsh wzr, [x20],#160
-15c59d78| ldrsh x21, [x8],#-36
-c07fd278| ldrsh w0, [x30,#-217]!
-bdec9278| ldrsh x29, [x5,#-210]!
-10e2c979| ldrsh w16, [x16,#1264]
-54d29d79| ldrsh x20, [x18,#3816]
-eb9484b8| ldrsw x11, [x7],#73
-ba2e8ab8| ldrsw x26, [x21,#162]!
-ac7f8ab9| ldrsw x12, [x29,#2684]
-9466e898| ldrsw x20, .+0xfffffffffffd0cd0
-a359b3b8| ldrsw x3, [x13,w19,uxtw #2]
-f8b941b8| ldtr w24, [x15,#27]
-fc0a4ef8| ldtr x28, [x23,#224]
-60d84638| ldtrb w0, [x3,#109]
-44685978| ldtrh w4, [x2,#-106]
-5379dc38| ldtrsb w19, [x10,#-57]
-ade99538| ldtrsb x13, [x13,#-162]
-905ac078| ldtrsh w16, [x20,#5]
-10898478| ldtrsh x16, [x8,#72]
-37188eb8| ldtrsw x23, [x1,#225]
-992351b8| ldur w25, [x28,#-238]
-c9f155f8| ldur x9, [x14,#-161]
-76e14e38| ldurb w22, [x11,#238]
-47b24478| ldurh w7, [x18,#75]
-4020da38| ldursb w0, [x2,#-94]
-0dd09e38| ldursb x13, [x0,#-19]
-8f81d478| ldursh w15, [x12,#-184]
-96918378| ldursh x22, [x12,#57]
-b2e383b8| ldursw x18, [x29,#62]
-d3717f88| ldxp w19, w28, [x14]
-cb677fc8| ldxp x11, x25, [x30]
-ed7c5f88| ldxr w13, [x7]
-aa7d5fc8| ldxr x10, [x13]
-1c7d5f08| ldxrb w28, [x8]
-de7f5f48| ldxrh w30, [x30]
-1622dc1a| lsl w22, w16, w28
-cd20d59a| lsl x13, x6, x21
-882957d3| ubfiz x8, x12, #41, #11
-3320cc1a| lsl w19, w1, w12
-7320de9a| lsl x19, x3, x30
-af25d31a| lsr w15, w13, w19
-e426c39a| lsr x4, x23, x3
-e87f0653| lsr w8, wzr, #6
-85fe5fd3| lsr x5, x20, #31
-0025dc1a| lsr w0, w8, w28
-6e27c79a| lsr x14, x27, x7
-6d69111b| madd w13, w11, w17, w26
-245d0d9b| madd x4, x9, x13, x23
-85fe1f1b| mneg w5, w20, wzr
-9bfc199b| mneg x27, x4, x25
-13000011| add w19, w0, #0x0
-e3000091| add x3, x7, #0x0
-986c9e12| mov w24, #0xffff0c9b
-cb24f092| mov x11, #0x7ed9ffffffffffff
-3cbb88d2| mov x28, #0x45d9
-e4170232| mov w4, #0xc000000f
-fe636bb2| mov x30, #0x3fffffe00000
-ed031b2a| mov w13, w27
-fb0308aa| mov x27, x8
-be3ed1f2| movk x30, #0x89f5, lsl #32
-e0a08312| mov w0, #0xffffe2f8
-a1a6e592| mov x1, #0xd2caffffffffffff
-5260f0d2| mov x18, #0x8302000000000000
-a60739d5| mrs x6, s3_1_c0_c7_5
-281a1ed5| msr s3_6_c1_c10_1, x8
-10f31b1b| msub w16, w24, w27, w28
-46b41a9b| msub x6, x2, x26, x13
-ec7f041b| mul w12, wzr, w4
-147f009b| mul x20, x24, x0
-f67f692a| mvn w22, w9, lsr #31
-f2a3f7aa| mvn x18, x23, ror #40
-fe8b0bcb| neg x30, x11, lsl #34
-fef710eb| negs x30, x16, lsl #61
-e0031b5a| ngc w0, w27
-e0031dda| ngc x0, x29
-f003167a| ngcs w16, w22
-e60302fa| ngcs x6, x2
-1f2003d5| nop
-2f51732a| orn w15, w9, w19, lsr #20
-9b0facaa| orn x27, x28, x12, asr #3
-efa40032| orr w15, w7, #0x3ff03ff
-3a0b19b2| orr x26, x25, #0x38000000380
-4b9ec4aa| orr x11, x18, x4, ror #39
-f5eaa2f9| prfm pstl3strm, [x23,#17872]
-731df8d8| prfm pstl2strm, .+0xffffffffffff03ac
-85c194f8| prfum pldl3strm, [x12,#-180]
-c303c05a| rbit w3, w30
-3000c0da| rbit x16, x1
-20025fd6| ret x17
-ec08c05a| rev w12, w7
-180cc0da| rev x24, x0
-4b07c05a| rev16 w11, w26
-7805c0da| rev16 x24, x11
-ea08c0da| rev32 x10, x7
-a90fc0da| rev x9, x29
-fd788213| extr w29, w7, w2, #30
-e1a0cc93| extr x1, x7, x12, #40
-792fdc1a| ror w25, w27, w28
-2b2cc39a| ror x11, x1, x3
-7e2ec71a| ror w30, w19, w7
-392edd9a| ror x25, x17, x29
-47020a5a| sbc w7, w18, w10
-b7021dda| sbc x23, x21, x29
-7800197a| sbcs w24, w3, w25
-1e0203fa| sbcs x30, x16, x3
-a6b07393| sbfiz x6, x5, #13, #45
-94957d93| sbfiz x20, x12, #3, #38
-ecff5e93| asr x12, xzr, #30
-a50ddb1a| sdiv w5, w13, w27
-7c0ec89a| sdiv x28, x19, x8
-9f2003d5| sev
-bf2003d5| sevl
-5953349b| smaddl x25, w26, w20, x20
-bafc399b| smnegl x26, w5, w25
-a5cc289b| smsubl x5, w5, w8, x19
-297c579b| smulh x9, x1, x23
-5e7e299b| smull x30, w18, w9
-29fd9f88| stlr w9, [x9]
-fdff9fc8| stlr x29, [sp]
-defe9f08| stlrb w30, [x22]
-2ffc9f48| stlrh w15, [x1]
-c1e12f88| stlxp w15, w1, w24, [x14]
-62aa2ec8| stlxp w14, x2, x10, [x19]
-b9fe1b88| stlxr w27, w25, [x21]
-cbff14c8| stlxr w20, x11, [x30]
-edfc0608| stlxrb w6, w13, [x7]
-8dfe1048| stlxrh w16, w13, [x20]
-1a323628| stnp w26, w12, [x16,#-80]
-b3cb3da8| stnp x19, x18, [x29,#-40]
-52398828| stp w18, w14, [x10],#64
-434c95a8| stp x3, x19, [x2],#336
-2badbd29| stp w11, w11, [x9,#-20]!
-daeabaa9| stp x26, x26, [x22,#-88]!
-9bc91529| stp w27, w18, [x12,#172]
-eea024a9| stp x14, x8, [x7,#-440]
-fec514b8| str w30, [x15],#-180
-d21508f8| str x18, [x14],#129
-7c5c0ab8| str w28, [x3,#165]!
-6dec1ff8| str x13, [x3,#-2]!
-35681eb9| str w21, [x1,#7784]
-374d35f9| str x23, [x9,#27288]
-1dd83df8| str x29, [x0,w29,sxtw #3]
-1b441b38| strb w27, [x0],#-76
-d69c0f38| strb w22, [x6,#249]!
-b7ce0d39| strb w23, [x21,#883]
-2b7b3938| strb w11, [x25,x25,lsl #0]
-4e771d78| strh w14, [x26],#-41
-64cc0b78| strh w4, [x3,#188]!
-07b90279| strh w7, [x8,#348]
-2eb91cb8| sttr w14, [x9,#-53]
-373a1bf8| sttr x23, [x17,#-77]
-d0881138| sttrb w16, [x6,#-232]
-941a0e78| sttrh w20, [x20,#225]
-da3000b8| stur w26, [x6,#3]
-5e921cf8| stur x30, [x18,#-55]
-09821e38| sturb w9, [x16,#-24]
-67d21c78| sturh w7, [x19,#-51]
-0c352188| stxp w1, w12, w13, [x8]
-146d26c8| stxp w6, x20, x27, [x8]
-837d1888| stxr w24, w3, [x12]
-f17f1bc8| stxr w27, x17, [sp]
-3b7d0f08| stxrb w15, w27, [x9]
-6b7c1f48| stxrh wzr, w11, [x3]
-70ab204b| sub w16, w27, w0, sxth #2
-303b20cb| sub x16, x25, w0, uxth #6
-69a909d1| sub x9, x11, #0x26a
-87384e4b| sub w7, w4, w14, lsr #14
-ec720ecb| sub x12, x23, x14, lsl #28
-2b58256b| subs w11, w1, w5, uxtw #6
-59e93ceb| subs x25, x10, x28, sxtx #2
-9e7b6ff1| subs x30, x28, #0xbde, lsl #12
-3e6d196b| subs w30, w9, w25, lsl #27
-54029ceb| subs x20, x18, x28, asr #0
-c1f91cd4| svc #0xe7ce
-091e0013| sxtb w9, w16
-7f1c4093| sxtb xzr, w3
-b53c0013| sxth w21, w5
-773e4093| sxth x23, w19
-707f4093| sxtw x16, w27
-df3a2dd5| sysl xzr, #5, C3, C10, #6
-607f3137| tbnz w0, #6, .+0x2fec
-3b700c36| tbz w27, #1, .+0xffffffffffff8e04
-5f612972| tst w10, #0xff80ffff
-bf2007f2| tst x5, #0xfe000003fe000003
-1f11136a| tst w8, w19, lsl #4
-5fd10dea| tst x10, x13, lsl #52
-5c826bd3| ubfiz x28, x18, #21, #33
-ad690c53| ubfx w13, w13, #12, #15
-3a0f41d3| ubfx x26, x25, #1, #3
-6a197dd3| ubfiz x10, x11, #3, #7
-520aca1a| udiv w18, w18, w10
-0809c89a| udiv x8, x8, x8
-4e55a69b| umaddl x14, w10, w6, x21
-99fda59b| umnegl x25, w12, w5
-1adabb9b| umsubl x26, w16, w27, x22
-177ddf9b| umulh x23, x8, xzr
-1d7da49b| umull x29, w8, w4
-5a1c0053| uxtb w26, w2
-603c0053| uxth w0, w3
-5f2003d5| wfe
-7f2003d5| wfi
-3f2003d5| yield
-02b8600e| abs v2.4h, v0.4h
-c886f94e| add v8.2d, v22.2d, v25.2d
-5642740e| addhn v22.4h, v18.4s, v20.4s
-3743294e| addhn2 v23.16b, v25.8h, v9.8h
-2abef74e| addp v10.2d, v17.2d, v23.2d
-18bbb14e| addv s24, v24.4s
-1a59284e| aesd v26.16b, v8.16b
-cf48284e| aese v15.16b, v6.16b
-557a284e| aesimc v21.16b, v18.16b
-2f6b284e| aesmc v15.16b, v25.16b
-cf1c324e| and v15.16b, v6.16b, v18.16b
-c9c6032f| mvni v9.2s, #0x76, msl #8
-f1a7012f| mvni v17.4h, #0x3f, lsl #8
-691d600e| bic v9.8b, v11.8b, v0.8b
-c31dfe6e| bif v3.16b, v14.16b, v30.16b
-c81cb66e| bit v8.16b, v6.16b, v22.16b
-701f6b2e| bsl v16.8b, v27.8b, v11.8b
-7c4b600e| cls v28.4h, v27.4h
-ce4a602e| clz v14.4h, v22.4h
-d08de37e| cmeq d16, d14, d3
-e98db96e| cmeq v9.4s, v15.4s, v25.4s
-6e99a00e| cmeq v14.2s, v11.2s, #0
-933d304e| cmge v19.16b, v12.16b, v16.16b
-0e88e07e| cmge d14, d0, #0
-9b89202e| cmge v27.8b, v12.8b, #0
-6a372f4e| cmgt v10.16b, v27.16b, v15.16b
-128be05e| cmgt d18, d24, #0
-9189a00e| cmgt v17.2s, v12.2s, #0
-f734e67e| cmhi d23, d7, d6
-4d36b82e| cmhi v13.2s, v18.2s, v24.2s
-003e2b2e| cmhs v0.8b, v16.8b, v11.8b
-729ae07e| cmle d18, d19, #0
-3699206e| cmle v22.16b, v9.16b, #0
-d1ab600e| cmlt v17.4h, v30.4h, #0
-ad8e244e| cmtst v13.16b, v21.16b, v4.16b
-ef06035e| mov b15, v23.b[1]
-5007040e| dup v16.2s, v26.s[0]
-890e0b4e| dup v9.16b, w20
-951c276e| eor v21.16b, v4.16b, v7.16b
-98d4bf7e| fabd s24, s4, s31
-bcd4ad6e| fabd v28.4s, v5.4s, v13.4s
-78f8e04e| fabs v24.2d, v3.2d
-8cc0201e| fabs s12, s4
-9ac1601e| fabs d26, d12
-3aee307e| facge s26, s17, s16
-41ed352e| facge v1.2s, v10.2s, v21.2s
-35edaf7e| facgt s21, s9, s15
-02efe36e| facgt v2.2d, v24.2d, v3.2d
-21d6664e| fadd v1.2d, v17.2d, v6.2d
-5e282e1e| fadd s30, s2, s14
-4d2a621e| fadd d13, d18, d2
-7cd8707e| faddp d28, v3.2d
-5dd4386e| faddp v29.4s, v2.4s, v24.4s
-69363e1e| fccmp s19, s30, #0x9, cc
-c8b56a1e| fccmp d14, d10, #0x8, lt
-d1f5271e| fccmpe s14, s7, #0x1, al
-3645751e| fccmpe d9, d21, #0x6, mi
-21e6735e| fcmeq d1, d17, d19
-b6dba05e| fcmeq s22, s29, #0
-49d8a04e| fcmeq v9.4s, v2.4s, #0
-2ee5667e| fcmge d14, d9, d6
-4ee7766e| fcmge v14.2d, v26.2d, v22.2d
-4bcba07e| fcmge s11, s26, #0
-11c9a02e| fcmge v17.2s, v8.2s, #0
-81e4a97e| fcmgt s1, s4, s9
-d3e4b56e| fcmgt v19.4s, v6.4s, v21.4s
-efc8e05e| fcmgt d15, d7, #0
-3ec9e04e| fcmgt v30.2d, v9.2d, #0
-38d9a07e| fcmle s24, s9, #0
-7dd9a02e| fcmle v29.2s, v11.2s, #0
-bae8a05e| fcmlt s26, s5, #0
-a2eaa04e| fcmlt v2.4s, v21.4s, #0
-60212f1e| fcmp s11, s15
-a8233a1e| fcmp s29, #0
-a020641e| fcmp d5, d4
-e820701e| fcmp d7, #0
-b0203a1e| fcmpe s5, s26
-78203d1e| fcmpe s3, #0
-70226e1e| fcmpe d19, d14
-3821601e| fcmpe d9, #0
-06de241e| fcsel s6, s16, s4, le
-51de761e| fcsel d17, d18, d22, le
-5e42e21e| fcvt s30, h18
-b9c1e21e| fcvt d25, h13
-58c0231e| fcvt h24, s2
-9bc2221e| fcvt d27, s20
-2bc3631e| fcvt h11, d25
-f640621e| fcvt s22, d7
-caca215e| fcvtas s10, s22
-5ec9210e| fcvtas v30.2s, v10.2s
-0302241e| fcvtas w3, s16
-c103249e| fcvtas x1, s30
-3003641e| fcvtas w16, d25
-6201649e| fcvtas x2, d11
-d3c9217e| fcvtau s19, s14
-3bc8212e| fcvtau v27.2s, v1.2s
-0802251e| fcvtau w8, s16
-5f02259e| fcvtau xzr, s18
-2801651e| fcvtau w8, d9
-f200659e| fcvtau x18, d7
-d179610e| fcvtl v17.2d, v14.2s
-347b614e| fcvtl2 v20.2d, v25.4s
-08b9615e| fcvtms d8, d8
-f000301e| fcvtms w16, s7
-8002309e| fcvtms x0, s20
-5202701e| fcvtms w18, d18
-c803709e| fcvtms x8, d30
-1cbb217e| fcvtmu s28, s24
-d1b9212e| fcvtmu v17.2s, v14.2s
-2e02311e| fcvtmu w14, s17
-d003319e| fcvtmu x16, s30
-ce03711e| fcvtmu w14, d30
-0801719e| fcvtmu x8, d8
-4c6b210e| fcvtn v12.4h, v26.4s
-6869214e| fcvtn2 v8.8h, v11.4s
-2faa615e| fcvtns d15, d17
-33aa614e| fcvtns v19.2d, v17.2d
-d303201e| fcvtns w19, s30
-4001209e| fcvtns x0, s10
-b202601e| fcvtns w18, d21
-c603609e| fcvtns x6, d30
-8ea8217e| fcvtnu s14, s4
-cc01211e| fcvtnu w12, s14
-3a00219e| fcvtnu x26, s1
-2002611e| fcvtnu w0, d17
-ff01619e| fcvtnu xzr, d15
-1baba15e| fcvtps s27, s24
-9d00281e| fcvtps w29, s4
-eb02289e| fcvtps x11, s23
-3503681e| fcvtps w21, d25
-4301689e| fcvtps x3, d10
-63aba17e| fcvtpu s3, s27
-caa8a12e| fcvtpu v10.2s, v6.2s
-7702291e| fcvtpu w23, s19
-b503299e| fcvtpu x21, s29
-2f03691e| fcvtpu w15, d25
-5b01699e| fcvtpu x27, d10
-7369617e| fcvtxn s19, d11
-6b6b612e| fcvtxn v11.2s, v27.2d
-f268616e| fcvtxn2 v18.4s, v7.2d
-bcff7b5f| fcvtzs d28, d29, #5
-19bbe15e| fcvtzs d25, d24
-c6b9e14e| fcvtzs v6.2d, v14.2d
-e9fc189e| fcvtzs x9, s7, #1
-6661589e| fcvtzs x6, d11, #40
-9702381e| fcvtzs w23, s20
-ed00389e| fcvtzs x13, s7
-3a01781e| fcvtzs w26, d9
-8801789e| fcvtzs x8, d12
-a5ff2e2f| fcvtzu v5.2s, v29.2s, #18
-5bbbe17e| fcvtzu d27, d26
-1a74199e| fcvtzu x26, s0, #35
-e391599e| fcvtzu x3, d15, #28
-b203391e| fcvtzu w18, s29
-ed01399e| fcvtzu x13, s15
-c200791e| fcvtzu w2, d6
-5402799e| fcvtzu x20, d18
-1aff2b6e| fdiv v26.4s, v24.4s, v11.4s
-171a391e| fdiv s23, s16, s25
-7d196b1e| fdiv d29, d11, d11
-f9721f1f| fmadd s25, s23, s31, s28
-7070551f| fmadd d16, d3, d21, d28
-05f7624e| fmax v5.2d, v24.2d, v2.2d
-88493d1e| fmax s8, s12, s29
-4a496d1e| fmax d10, d10, d13
-5068321e| fmaxnm s16, s2, s18
-a66a761e| fmaxnm d6, d21, d22
-0ccb707e| fmaxnmp d12, v24.2d
-6ec66f6e| fmaxnmp v14.2d, v19.2d, v15.2d
-41f8307e| fmaxp s1, v2.2s
-05f72a6e| fmaxp v5.4s, v24.4s, v10.4s
-aa5b231e| fmin s10, s29, s3
-d6596a1e| fmin d22, d14, d10
-15c4b24e| fminnm v21.4s, v0.4s, v18.4s
-6279281e| fminnm s2, s11, s8
-af7b6a1e| fminnm d15, d29, d10
-7dc9f07e| fminnmp d29, v11.2d
-dfc6bb6e| fminnmp v31.4s, v22.4s, v27.4s
-56c8b06e| fminnmv s22, v2.4s
-0ff8f07e| fminp d15, v0.2d
-a211c55f| fmla d2, d13, v5.d[0]
-0dce224e| fmla v13.4s, v16.4s, v2.4s
-4c5ba15f| fmls s12, s26, v1.s[3]
-8953ba0f| fmls v9.2s, v28.2s, v26.s[1]
-09cdbd4e| fmls v9.4s, v8.4s, v29.4s
-97f7044f| fmov v23.4s, #-7.000000000000000000e+00
-dff4006f| fmov v31.2d, #2.750000000000000000e+00
-c543201e| fmov s5, s30
-1740601e| fmov d23, d0
-a100271e| fmov s1, w5
-f102261e| fmov w17, s23
-b302679e| fmov d19, x21
-4001af9e| fmov v0.d[1], x10
-db01669e| fmov x27, d14
-8300ae9e| fmov x3, v4.d[1]
-1870331e| fmov s24, #-6.750000000000000000e+00
-08507d1e| fmov d8, #-8.125000000000000000e-01
-5cbf0c1f| fmsub s28, s26, s12, s15
-89e3501f| fmsub d9, d28, d16, d24
-3a93c95f| fmul d26, d25, v9.d[0]
-5a90ae4f| fmul v26.4s, v2.4s, v14.s[1]
-ba0a2f1e| fmul s26, s21, s15
-5b0a7c1e| fmul d27, d18, d28
-e991c07f| fmulx d9, d15, v0.d[0]
-be989c6f| fmulx v30.4s, v5.4s, v28.s[2]
-d3dc7a5e| fmulx d19, d6, d26
-d4de7f4e| fmulx v20.2d, v22.2d, v31.2d
-8e41211e| fneg s14, s12
-dc42611e| fneg d28, d22
-cb362e1f| fnmadd s11, s22, s14, s13
-6441791f| fnmadd d4, d11, d25, d16
-36ed291f| fnmsub s22, s9, s9, s27
-35b27a1f| fnmsub d21, d17, d26, d12
-9388301e| fnmul s19, s4, s16
-c088711e| fnmul d0, d6, d17
-e8daa15e| frecpe s8, s23
-a9fc395e| frecps s9, s5, s25
-49fe284e| frecps v9.4s, v18.4s, v8.4s
-85f8a15e| frecpx s5, s4
-ee43261e| frinta s14, s31
-7042661e| frinta d16, d19
-2b98a16e| frinti v11.4s, v1.4s
-fac2271e| frinti s26, s23
-76c3671e| frinti d22, d27
-7942251e| frintm s25, s19
-8742651e| frintm d7, d20
-fc8a214e| frintn v28.4s, v23.4s
-c041241e| frintn s0, s14
-b241641e| frintn d18, d13
-c588a14e| frintp v5.4s, v6.4s
-6ec2241e| frintp s14, s19
-ddc0641e| frintp d29, d6
-1a9a616e| frintx v26.2d, v16.2d
-7c41271e| frintx s28, s11
-d243671e| frintx d18, d30
-b49aa14e| frintz v20.4s, v21.4s
-5bc0251e| frintz s27, s2
-43c1651e| frintz d3, d10
-3bdba17e| frsqrte s27, s25
-9ddba12e| frsqrte v29.2s, v28.2s
-1ffee65e| frsqrts d31, d16, d6
-8bfdb54e| frsqrts v11.4s, v12.4s, v21.4s
-33c1211e| fsqrt s19, s9
-a5c0611e| fsqrt d5, d5
-a2d7b74e| fsub v2.4s, v29.4s, v23.4s
-a338301e| fsub s3, s5, s16
-e139681e| fsub d1, d15, d8
-96170e6e| mov v22.h[3], v28.h[1]
-791c014e| mov v25.b[0], w3
-cf79404c| ld1 {v15.4s}, [x14]
-75a6404c| ld1 {v21.8h, v22.8h}, [x19]
-ed62404c| ld1 {v13.16b-v15.16b}, [x23]
-392a400c| ld1 {v25.2s-v28.2s}, [x17]
-cd7cdf4c| ld1 {v13.2d}, [x6],#16
-f677ce4c| ld1 {v22.8h}, [sp], x14
-d4a3df0c| ld1 {v20.8b, v21.8b}, [x30],#16
-8ba1d90c| ld1 {v11.8b, v12.8b}, [x12], x25
-396fdf0c| ld1 {v25.1d-v27.1d}, [x25],#24
-4c64db0c| ld1 {v12.4h-v14.4h}, [x2], x27
-3f2adf4c| ld1 {v31.4s, v0.4s, v1.4s, v2.4s}, [x17],#64
-b329ce4c| ld1 {v19.4s-v22.4s}, [x13], x14
-aa02400d| ld1 {v10.b}[0], [x21]
-7980404d| ld1 {v25.s}[2], [x3]
-5884404d| ld1 {v24.d}[1], [x2]
-f203df4d| ld1 {v18.b}[8], [sp],#1
-3519c40d| ld1 {v21.b}[6], [x9], x4
-ed59df0d| ld1 {v13.h}[3], [x15],#2
-9e52d90d| ld1 {v30.h}[2], [x20], x25
-cd93df4d| ld1 {v13.s}[3], [x30],#4
-5982cb4d| ld1 {v25.s}[2], [x18], x11
-4f84df4d| ld1 {v15.d}[1], [x2],#8
-2d85d50d| ld1 {v13.d}[0], [x9], x21
-33c2400d| ld1r {v19.8b}, [x17]
-e2c8df4d| ld1r {v2.4s}, [x7],#4
-83c2c44d| ld1r {v3.16b}, [x20], x4
-5487400c| ld2 {v20.4h, v21.4h}, [x26]
-e08adf0c| ld2 {v0.2s, v1.2s}, [x23],#16
-768ac40c| ld2 {v22.2s, v23.2s}, [x19], x4
-4c0f604d| ld2 {v12.b, v13.b}[11], [x26]
-e043604d| ld2 {v0.h, v1.h}[4], [sp]
-c281600d| ld2 {v2.s, v3.s}[0], [x14]
-e585600d| ld2 {v5.d, v6.d}[0], [x15]
-2c1aff4d| ld2 {v12.b, v13.b}[14], [x17],#2
-820bfd4d| ld2 {v2.b, v3.b}[10], [x28], x29
-d593ff0d| ld2 {v21.s, v22.s}[1], [x30],#8
-6780ea0d| ld2 {v7.s, v8.s}[0], [x3], x10
-3484ff4d| ld2 {v20.d, v21.d}[1], [x1],#16
-6a86ee4d| ld2 {v10.d, v11.d}[1], [x19], x14
-e4c7604d| ld2r {v4.8h, v5.8h}, [sp]
-69c8ff0d| ld2r {v9.2s, v10.2s}, [x3],#8
-52ccf30d| ld2r {v18.1d, v19.1d}, [x2], x19
-9e4b404c| ld3 {v30.4s, v31.4s, v0.4s}, [x28]
-0440df4c| ld3 {v4.16b-v6.16b}, [x0],#48
-0f49cf0c| ld3 {v15.2s-v17.2s}, [x8], x15
-b22e400d| ld3 {v18.b-v20.b}[3], [x21]
-9473400d| ld3 {v20.h-v22.h}[2], [x28]
-1da0404d| ld3 {v29.s-v31.s}[2], [x0]
-21a5404d| ld3 {v1.d-v3.d}[1], [x9]
-3b23df0d| ld3 {v27.b-v29.b}[0], [x25],#3
-0937c60d| ld3 {v9.b-v11.b}[5], [x24], x6
-926bcb4d| ld3 {v18.h-v20.h}[5], [x28], x11
-f5a1df4d| ld3 {v21.s-v23.s}[2], [x15],#12
-dba3c44d| ld3 {v27.s-v29.s}[2], [x30], x4
-12a5df0d| ld3 {v18.d-v20.d}[0], [x8],#24
-daa7d30d| ld3 {v26.d-v28.d}[0], [x30], x19
-3beb400d| ld3r {v27.2s-v29.2s}, [x25]
-cde4df4d| ld3r {v13.8h-v15.8h}, [x6],#6
-a4efc44d| ld3r {v4.2d-v6.2d}, [x29], x4
-fc0a400c| ld4 {v28.2s-v31.2s}, [x23]
-ae05df0c| ld4 {v14.4h-v17.4h}, [x13],#32
-cb07c84c| ld4 {v11.8h-v14.8h}, [x30], x8
-1825604d| ld4 {v24.b-v27.b}[9], [x8]
-2869604d| ld4 {v8.h-v11.h}[5], [x9]
-07b2600d| ld4 {v7.s-v10.s}[1], [x16]
-9fa4600d| ld4 {v31.d, v0.d, v1.d, v2.d}[0], [x4]
-de22ff0d| ld4 {v30.b, v31.b, v0.b, v1.b}[0], [x22],#4
-6a36ed4d| ld4 {v10.b-v13.b}[13], [x19], x13
-23a2ff4d| ld4 {v3.s-v6.s}[2], [x17],#16
-22a0fe4d| ld4 {v2.s-v5.s}[2], [x1], x30
-7ca4ff4d| ld4 {v28.d-v31.d}[1], [x3],#32
-03a7ec4d| ld4 {v3.d-v6.d}[1], [x24], x12
-b9ee600d| ld4r {v25.1d-v28.1d}, [x21]
-03e8ff0d| ld4r {v3.2s-v6.2s}, [x0],#16
-e7e3f24d| ld4r {v7.16b-v10.16b}, [sp], x18
-451a4e2c| ldnp s5, s6, [x18,#112]
-01236f6c| ldnp d1, d8, [x24,#-272]
-204041ac| ldnp q0, q16, [x1,#32]
-1b21cc2c| ldp s27, s8, [x8],#96
-41ccc06c| ldp d1, d19, [x2],#8
-65b8e6ac| ldp q5, q14, [x3],#-816
-a58bed2d| ldp s5, s2, [x29,#-148]!
-d8a3c46d| ldp d24, d8, [x30,#72]!
-dc82c0ad| ldp q28, q0, [x22,#16]!
-eda7782d| ldp s13, s9, [sp,#-60]
-041b6c6d| ldp d4, d6, [x24,#-320]
-17ea6bad| ldp q23, q26, [x16,#-656]
-4e14433c| ldr b14, [x2],#49
-cd844e7c| ldr h13, [x6],#232
-99945dbc| ldr s25, [x4],#-39
-170556fc| ldr d23, [x8],#-160
-3115d53c| ldr q17, [x9],#-175
-3c6d403c| ldr b28, [x9,#6]!
-f8fc527c| ldr h24, [x7,#-209]!
-776c58bc| ldr s23, [x3,#-122]!
-075f57fc| ldr d7, [x24,#-139]!
-28cdc33c| ldr q8, [x9,#60]!
-40a15f3d| ldr b0, [x10,#2024]
-3b8c597d| ldr h27, [x1,#3270]
-28f958bd| ldr s8, [x9,#6392]
-852d6ffd| ldr d5, [x12,#24152]
-e149ea3d| ldr q1, [x15,#43296]
-807f7c1c| ldr s0, .+0xf8ff0
-e7a61c5c| ldr d7, .+0x394dc
-261ec59c| ldr q6, .+0xfffffffffff8a3c4
-4bca773c| ldr b11, [x18,w23,sxtw]
-8d69623c| ldr b13, [x12,x2]
-cef8797c| ldr h14, [x6,x25,sxtx #1]
-b7497bfc| ldr d23, [x13,w27,uxtw]
-dbdbfc3c| ldr q27, [x30,w28,sxtw #4]
-1a60553c| ldur b26, [x0,#-170]
-74f3477c| ldur h20, [x27,#127]
-f46249bc| ldur s20, [x23,#150]
-b8015bfc| ldur d24, [x13,#-80]
-3372de3c| ldur q19, [x17,#-25]
-04972c0e| mla v4.8b, v24.8b, v12.8b
-f0051b5e| mov b16, v15.b[13]
-7f76146e| mov v31.s[2], v19.s[3]
-6c1cb60e| orr v12.8b, v3.8b, v22.8b
-ae3f1e0e| umov w14, v29.h[7]
-f8e5004f| movi v24.16b, #0xf
-0355010f| orr v3.2s, #0x28, lsl #16
-4825020f| movi v8.2s, #0x4a, lsl #8
-64d7040f| movi v4.2s, #0x9b, msl #16
-46e6062f| movi d6, #0xffff00ff0000ff00
-bde6056f| movi v29.2d, #0xff00ffff00ff00ff
-789f350e| mul v24.8b, v27.8b, v21.8b
-7b5b202e| mvn v27.8b, v27.8b
-2dd4066f| mvni v13.4s, #0xc1, msl #16
-8266012f| mvni v2.2s, #0x34, lsl #24
-1025022f| mvni v16.2s, #0x48, lsl #8
-eabba06e| neg v10.4s, v31.4s
-7e5a206e| mvn v30.16b, v19.16b
-6a1fea0e| orn v10.8b, v27.8b, v10.8b
-b406010f| movi v20.2s, #0x35
-f564040f| movi v21.2s, #0x87, lsl #24
-b21cb80e| orr v18.8b, v5.8b, v24.8b
-2b437a2e| raddhn v11.4h, v25.4s, v26.4s
-6d402c6e| raddhn2 v13.16b, v3.8h, v12.8h
-655a606e| rbit v5.16b, v19.16b
-5108202e| rev32 v17.8b, v2.8b
-750a200e| rev64 v21.8b, v19.8b
-f88f0b0f| rshrn v24.8b, v31.8h, #5
-8263236e| rsubhn2 v2.16b, v28.8h, v3.8h
-787c320e| saba v24.8b, v3.8b, v18.8b
-f551220e| sabal v21.8h, v15.8b, v2.8b
-b5766d0e| sabd v21.4h, v21.4h, v13.4h
-9270240e| sabdl v18.8h, v4.8b, v4.8b
-4d71384e| sabdl2 v13.8h, v10.16b, v24.16b
-8f6a600e| sadalp v15.2s, v20.4h
-e501750e| saddl v5.4s, v15.4h, v21.4h
-5202ab4e| saddl2 v18.2d, v18.4s, v11.4s
-7029200e| saddlp v16.4h, v11.8b
-3913710e| saddw v25.4s, v25.4s, v17.4h
-d7e4575f| scvtf d23, d6, #41
-c6db215e| scvtf s6, s30
-17d8214e| scvtf v23.4s, v0.4s
-62c4021e| scvtf s2, w3, #15
-f5cd421e| scvtf d21, w15, #13
-6128029e| scvtf s1, x3, #54
-9a7c429e| scvtf d26, x4, #33
-6102221e| scvtf s1, w19
-0b03621e| scvtf d11, w24
-ed01229e| scvtf s13, x15
-6f02629e| scvtf d15, x19
-ac03055e| sha1c q12, s29, v5.4s
-e309285e| sha1h s3, s15
-2a221b5e| sha1m q10, s17, v27.4s
-a013185e| sha1p q0, s29, v24.4s
-6032005e| sha1su0 v0.4s, v19.4s, v0.4s
-f918285e| sha1su1 v25.4s, v7.4s
-fb50035e| sha256h2 q27, q7, v3.4s
-6d421c5e| sha256h q13, q19, v28.4s
-c12b285e| sha256su0 v1.4s, v30.4s
-6362095e| sha256su1 v3.4s, v19.4s, v9.4s
-a805bb0e| shadd v8.2s, v13.2s, v27.2s
-783b616e| shll2 v24.4s, v27.8h, #16
-48841b0f| shrn v8.4h, v2.4s, #5
-a924bc4e| shsub v9.4s, v5.4s, v28.4s
-1557717f| sli d21, d24, #49
-2a56456f| sli v10.2d, v17.2d, #5
-7c663b0e| smax v28.8b, v19.8b, v27.8b
-b5a7694e| smaxp v21.8h, v29.8h, v9.8h
-8ea8b04e| smaxv s14, v4.4s
-936cb44e| smin v19.4s, v4.4s, v20.4s
-15af7e4e| sminp v21.8h, v24.8h, v30.8h
-3e81694e| smlal2 v30.4s, v9.8h, v9.8h
-29a26d0e| smlsl v9.4s, v17.4h, v13.4h
-442e0b4e| smov x4, v18.b[5]
-e1a0540f| smull v1.4s, v7.4h, v4.h[1]
-5eaa604f| smull2 v30.4s, v18.8h, v0.h[6]
-4cc32d4e| smull2 v12.8h, v26.16b, v13.16b
-1e7a205e| sqabs b30, b16
-e67ae04e| sqabs v6.2d, v23.2d
-a80ded5e| sqadd d8, d13, d13
-e60dae4e| sqadd v6.4s, v15.4s, v14.4s
-fe33570f| sqdmlal v30.4s, v31.4h, v7.h[1]
-ee90b64e| sqdmlal2 v14.2d, v7.4s, v22.4s
-ce79a05f| sqdmlsl d14, s14, v0.s[3]
-d5b2a14e| sqdmlsl2 v21.2d, v22.4s, v1.4s
-51cb575f| sqdmulh h17, h26, v7.h[5]
-0cb5b54e| sqdmulh v12.4s, v8.4s, v21.4s
-95d0760e| sqdmull v21.4s, v4.4h, v22.4h
-a1d37c4e| sqdmull2 v1.4s, v29.8h, v28.8h
-d679e07e| sqneg d22, d14
-3f78602e| sqneg v31.4h, v1.4h
-80b4717e| sqrdmulh h0, h4, h17
-4cb76e2e| sqrdmulh v12.4h, v26.4h, v14.4h
-aa5ce95e| sqrshl d10, d5, d9
-d25fb74e| sqrshl v18.4s, v30.4s, v23.4s
-998c0c6f| sqrshrun2 v25.16b, v4.8h, #4
-4375605f| sqshl d3, d10, #32
-de743f0f| sqshl v30.2s, v6.2s, #31
-a84d675e| sqshl h8, h13, h7
-674dbe4e| sqshl v7.4s, v11.4s, v30.4s
-5165587f| sqshlu d17, d10, #24
-b464042f| mvni v20.2s, #0x85, lsl #24
-2086207f| sqshrun s0, d17, #32
-8a851a2f| sqshrun v10.4h, v12.4s, #6
-652c255e| sqsub b5, b3, b5
-632eb30e| sqsub v3.2s, v19.2s, v19.2s
-104ba15e| sqxtn s16, d24
-2249214e| sqxtn2 v2.16b, v9.8h
-1c14360e| srhadd v28.8b, v0.8b, v22.8b
-8044076f| mvni v0.4s, #0xe4, lsl #16
-3a57ed5e| srshl d26, d25, d13
-2c56ef4e| srshl v12.2d, v17.2d, v15.2d
-9627140f| srshr v22.4h, v28.4h, #12
-bd37565f| srsra d29, d29, #42
-db34594f| srsra v27.2d, v6.2d, #39
-4546a10e| sshl v5.2s, v18.2s, v1.2s
-aca7020f| movi v12.4h, #0x5d, lsl #8
-e004675f| sshr d0, d7, #25
-e5057f4f| sshr v5.2d, v15.2d, #1
-1b15595f| ssra d27, d8, #39
-ba15250f| ssra v26.2s, v13.2s, #27
-3620330e| ssubl v22.8h, v1.8b, v19.8b
-c1316d4e| ssubw2 v1.4s, v14.4s, v13.8h
-8a76000c| st1 {v10.4h}, [x20]
-10a5004c| st1 {v16.8h, v17.8h}, [x8]
-ab6b004c| st1 {v11.4s-v13.4s}, [x29]
-8d2b004c| st1 {v13.4s-v16.4s}, [x28]
-8d7d9f0c| st1 {v13.1d}, [x12],#8
-eb73840c| st1 {v11.8b}, [sp], x4
-48a69f4c| st1 {v8.8h, v9.8h}, [x18],#32
-dca19b4c| st1 {v28.16b, v29.16b}, [x14], x27
-7c699f4c| st1 {v28.4s-v30.4s}, [x11],#48
-da6d870c| st1 {v26.1d-v28.1d}, [x14], x7
-7f279f0c| st1 {v31.4h, v0.4h, v1.4h, v2.4h}, [x27],#32
-4421810c| st1 {v4.8b-v7.8b}, [x10], x1
-a615004d| st1 {v6.b}[13], [x13]
-ce92000d| st1 {v14.s}[1], [x22]
-c985000d| st1 {v9.d}[0], [x14]
-380f9f0d| st1 {v24.b}[3], [x25],#1
-de0b944d| st1 {v30.b}[10], [x30], x20
-3141880d| st1 {v17.h}[0], [x9], x8
-8e939f0d| st1 {v14.s}[1], [x28],#4
-c890870d| st1 {v8.s}[1], [x6], x7
-9f869f4d| st1 {v31.d}[1], [x20],#8
-38879b4d| st1 {v24.d}[1], [x25], x27
-4181004c| st2 {v1.16b, v2.16b}, [x10]
-d6819f0c| st2 {v22.8b, v23.8b}, [x14],#16
-bf808a0c| st2 {v31.8b, v0.8b}, [x5], x10
-bd0e204d| st2 {v29.b, v30.b}[11], [x21]
-4551204d| st2 {v5.h, v6.h}[6], [x10]
-9982204d| st2 {v25.s, v26.s}[2], [x20]
-ea86200d| st2 {v10.d, v11.d}[0], [x23]
-7b02bf0d| st2 {v27.b, v28.b}[0], [x19],#2
-c000a04d| st2 {v0.b, v1.b}[8], [x6], x0
-fb59a40d| st2 {v27.h, v28.h}[3], [x15], x4
-f880bf0d| st2 {v24.s, v25.s}[0], [x7],#8
-f582ac4d| st2 {v21.s, v22.s}[2], [x23], x12
-9c86bf4d| st2 {v28.d, v29.d}[1], [x20],#16
-3386b14d| st2 {v19.d, v20.d}[1], [x17], x17
-c0469f0c| st3 {v0.4h-v2.4h}, [x22],#24
-2243820c| st3 {v2.8b-v4.8b}, [x25], x2
-c629000d| st3 {v6.b-v8.b}[2], [x14]
-4f6a004d| st3 {v15.h-v17.h}[5], [x18]
-72a0004d| st3 {v18.s-v20.s}[2], [x3]
-c1a4000d| st3 {v1.d-v3.d}[0], [x6]
-312e9f0d| st3 {v17.b-v19.b}[3], [x17],#3
-9a28934d| st3 {v26.b-v28.b}[10], [x4], x19
-a1799f4d| st3 {v1.h-v3.h}[7], [x13],#6
-3ba29f0d| st3 {v27.s-v29.s}[0], [x17],#12
-80b2870d| st3 {v0.s-v2.s}[1], [x20], x7
-f6a49f4d| st3 {v22.d-v24.d}[1], [x7],#24
-8fa69a4d| st3 {v15.d-v17.d}[1], [x20], x26
-ee09000c| st4 {v14.2s-v17.2s}, [x15]
-1e07880c| st4 {v30.4h, v31.4h, v0.4h, v1.4h}, [x24], x8
-6426204d| st4 {v4.b-v7.b}[9], [x19]
-4ea2204d| st4 {v14.s-v17.s}[2], [x18]
-05a6200d| st4 {v5.d-v8.d}[0], [x16]
-5b21bf0d| st4 {v27.b-v30.b}[0], [x10],#4
-ce28a00d| st4 {v14.b-v17.b}[2], [x6], x0
-767bbf4d| st4 {v22.h-v25.h}[7], [x27],#8
-747aa24d| st4 {v20.h-v23.h}[7], [x19], x2
-24b0bf0d| st4 {v4.s-v7.s}[1], [x1],#16
-c7b1a90d| st4 {v7.s-v10.s}[1], [x14], x9
-9fa4bf4d| st4 {v31.d, v0.d, v1.d, v2.d}[1], [x4],#32
-70a4ab4d| st4 {v16.d-v19.d}[1], [x3], x11
-89fe2e2c| stnp s9, s31, [x20,#-140]
-bfd31d6c| stnp d31, d20, [x29,#472]
-ddf301ac| stnp q29, q28, [x30,#48]
-14f6ac2c| stp s20, s29, [x16],#-156
-251db76c| stp d5, d7, [x9],#-144
-e51fb7ac| stp q5, q7, [sp],#-288
-5c90852d| stp s28, s4, [x2,#44]!
-4c51a56d| stp d12, d20, [x10,#-432]!
-265d8aad| stp q6, q23, [x9,#320]!
-9c0c392d| stp s28, s3, [x4,#-56]
-b49e1e6d| stp d20, d7, [x21,#488]
-55f105ad| stp q21, q28, [x10,#176]
-4dd6003c| str b13, [x18],#13
-e357067c| str h3, [sp],#101
-f6841dbc| str s22, [x7],#-40
-54b710fc| str d20, [x26],#-245
-0d07833c| str q13, [x24],#48
-393f003c| str b25, [x25,#3]!
-1fac007c| str h31, [x0,#10]!
-d41d13bc| str s20, [x14,#-207]!
-908f0dfc| str d16, [x28,#216]!
-5ded9d3c| str q29, [x10,#-34]!
-6d72073d| str b13, [x19,#476]
-68752d7d| str h8, [x11,#5818]
-084728bd| str s8, [x24,#10308]
-409503fd| str d0, [x10,#1832]
-58a1963d| str q24, [x10,#23168]
-51c8253c| str b17, [x2,w5,sxtw]
-967b313c| str b22, [x28,x17,lsl #0]
-b4683e7c| str h20, [x5,x30]
-64d9a33c| str q4, [x11,w3,sxtw #4]
-e5e1143c| stur b5, [x15,#-178]
-99901e7c| stur h25, [x4,#-23]
-bb0012bc| stur s27, [x5,#-224]
-1d710cfc| stur d29, [x8,#199]
-17e1873c| stur q23, [x8,#126]
-ed84a26e| sub v13.4s, v7.4s, v2.4s
-7761b80e| subhn v23.2s, v11.2d, v24.2d
-f838205e| suqadd b24, b7
-7739600e| suqadd v23.4h, v11.4h
-26a5204f| sxtl2 v6.2d, v9.4s
-5a201a4e| tbl v26.16b, {v2.16b, v3.16b}, v26.16b
-c2400f0e| tbl v2.8b, {v6.16b-v8.16b}, v15.8b
-7263024e| tbl v18.16b, {v27.16b-v30.16b}, v2.16b
-bb010b4e| tbl v27.16b, {v13.16b}, v11.16b
-5f31184e| tbx v31.16b, {v10.16b, v11.16b}, v24.16b
-a952100e| tbx v9.8b, {v21.16b-v23.16b}, v16.8b
-4872170e| tbx v8.8b, {v18.16b-v21.16b}, v23.8b
-dc110e4e| tbx v28.16b, {v14.16b}, v14.16b
-d7289a4e| trn1 v23.4s, v6.4s, v26.4s
-cd6a924e| trn2 v13.4s, v22.4s, v18.4s
-a552392e| uabal v5.8h, v21.8b, v25.8b
-a653256e| uabal2 v6.8h, v29.16b, v5.16b
-fb70b42e| uabdl v27.2d, v7.2s, v20.2s
-3b6a202e| uadalp v27.4h, v17.8b
-8a03b22e| uaddl v10.2d, v28.2s, v18.2s
-262a206e| uaddlp v6.8h, v17.16b
-8410312e| uaddw v4.8h, v4.8h, v17.8b
-bf11ae6e| uaddw2 v31.2d, v13.2d, v14.4s
-a7e65d7f| ucvtf d7, d21, #35
-8bda617e| ucvtf d11, d20
-7fb8431e| ucvtf d31, w3, #18
-1c0f039e| ucvtf s28, x24, #61
-2241439e| ucvtf d2, x9, #48
-d701231e| ucvtf s23, w14
-9600631e| ucvtf d22, w4
-8b01239e| ucvtf s11, x12
-7202639e| ucvtf d18, x19
-3406b82e| uhadd v20.2s, v17.2s, v24.2s
-9264612e| umax v18.4h, v4.4h, v1.4h
-d9a5772e| umaxp v25.4h, v14.4h, v23.4h
-74a8b06e| umaxv s20, v3.4s
-24a8312e| uminv b4, v1.8b
-c5218e2f| umlal v5.2d, v14.2s, v14.s[0]
-3d20a76f| umlal2 v29.2d, v1.4s, v7.s[1]
-90817e6e| umlal2 v16.4s, v12.8h, v30.8h
-0f69a46f| umlsl2 v15.2d, v8.4s, v4.s[3]
-4aa27c2e| umlsl v10.4s, v18.4h, v28.4h
-48a27b6e| umlsl2 v8.4s, v18.8h, v27.8h
-833c0d0e| umov w3, v4.b[6]
-e2a1b22f| umull v2.2d, v15.2s, v18.s[1]
-07c06f2e| umull v7.4s, v0.4h, v15.4h
-470e367e| uqadd b7, b18, b22
-490e252e| uqadd v9.8b, v18.8b, v5.8b
-bf5eaa7e| uqrshl s31, s21, s10
-c49c347f| uqrshrn s4, d6, #12
-b4757a7f| uqshl d20, d13, #58
-d14f777e| uqshl h17, h30, h23
-9e2d7a7e| uqsub h30, h12, h26
-a62c296e| uqsub v6.16b, v5.16b, v9.16b
-5d4ba17e| uqxtn s29, d26
-454b212e| uqxtn v5.8b, v26.8h
-1c48a16e| uqxtn2 v28.4s, v0.2d
-4157736e| urshl v1.8h, v26.8h, v19.8h
-2d26797f| urshr d13, d17, #7
-bd27466f| urshr v29.2d, v29.2d, #58
-bcc8a12e| ursqrte v28.2s, v5.2s
-f5345d7f| ursra d21, d7, #35
-f8353a6f| ursra v24.4s, v15.4s, #6
-85a6342f| ushll v5.2d, v20.2s, #20
-e7a70e6f| ushll2 v7.8h, v31.16b, #6
-ed04787f| ushr d13, d7, #8
-8f07362f| ushr v15.2s, v28.2s, #10
-963a607e| usqadd h22, h20
-383a206e| usqadd v24.16b, v17.16b
-ef16596f| usra v15.2d, v23.2d, #39
-f222ab2e| usubl v18.2d, v23.2s, v11.2s
-9220696e| usubl2 v18.4s, v4.8h, v9.8h
-0130312e| usubw v1.8h, v0.8h, v17.8b
-a932a06e| usubw2 v9.2d, v21.2d, v0.4s
-9a19910e| uzp1 v26.2s, v12.2s, v17.2s
-a379ca4e| zip2 v3.2d, v13.2d, v10.2d
-1202011a| adc w18, w16, w1
-6900199a| adc x9, x3, x25
-01010f3a| adcs w1, w8, w15
-13010fba| adcs x19, x8, x15
-55ed280b| add w21, w10, w8, sxtx #3
-2077268b| add x0, x25, x6, uxtx #5
-7f40560b| add wzr, w3, w22, lsr #16
-3a16282b| adds w26, w17, w8, uxtb #5
-f8a336ab| adds x24, sp, w22, sxth
-000e6d31| adds w0, w16, #0xb43, lsl #12
-b48e49b1| adds x20, x21, #0x263, lsl #12
-7e174e2b| adds w30, w27, w14, lsr #5
-25e2f250| adr x5, .+0xfffffffffffe5c46
-294079f0| adrp x9, .+0xf2807000
-3aa13f12| and w26, w9, #0x3fe03fe
-32a23592| and x18, x17, #0xf80ff80ff80ff80f
-b478070a| and w20, w5, w7, lsl #30
-dd1f988a| and x29, x30, x24, asr #7
-a7351b72| ands w7, w13, #0x7ffe0
-1c056ef2| ands x28, x8, #0xc0000
-defd52ea| ands x30, x14, x18, lsr #63
-8c28d01a| asr w12, w4, w16
-582ac09a| asr x24, x18, x0
-647d1813| asr w4, w11, #24
-d1fe5b93| asr x17, x22, #27
-2329c31a| asr w3, w9, w3
-d929d69a| asr x25, x14, x22
-aefa5354| b.al .+0xa7f54
-76ad3917| b .+0xfffffffffce6b5d8
-de320f33| bfi w30, w22, #17, #13
-af144db3| bfi x15, x5, #51, #6
-161c7eb3| bfi x22, x0, #2, #8
-f9791733| bfxil w25, w15, #23, #8
-781577b3| bfi x24, x11, #9, #6
-0f65f98a| bic x15, x8, x25, ror #25
-2c37e16a| bics w12, w25, w1, ror #13
-a6f473ea| bics x6, x5, x19, lsr #61
-f064ad96| bl .+0xfffffffffab593c0
-80023fd6| blr x20
-00001fd6| br x0
-80de3ed4| brk #0xf6f4
-08276a35| cbnz w8, .+0xd44e0
-acd1c0b5| cbnz x12, .+0xfffffffffff81a34
-ef50bf34| cbz w15, .+0xfffffffffff7ea1c
-4bd681b4| cbz x11, .+0xfffffffffff03ac8
-4e2a483a| ccmn w18, #0x8, #0xe, cs
-4a3a4eba| ccmn x18, #0xe, #0xa, cc
-0143553a| ccmn w24, w21, #0x1, mi
-c09359ba| ccmn x30, x25, #0x0, ls
-020a567a| ccmp w16, #0x16, #0x2, eq
-a6985afa| ccmp x5, #0x1a, #0x6, ls
-6fc0487a| ccmp w3, w8, #0xf, gt
-21d14bfa| ccmp x9, x11, #0x1, le
-75f5991a| csinc w21, w11, w25, al
-5a25919a| csinc x26, x10, x17, cs
-6a938c5a| csinv w10, w27, w12, ls
-6a408eda| csinv x10, x3, x14, mi
-5f3603d5| clrex #0x6
-a017c05a| cls w0, w29
-2616c0da| cls x6, x17
-9411c05a| clz w20, w12
-c611c0da| clz x6, x14
-9fc3322b| cmn w28, w18, sxtw
-3f9638ab| cmn x17, w24, sxtb #5
-3f681db1| cmn x1, #0x75a
-bfd15bab| cmn x13, x27, lsr #52
-ff723b6b| cmp w23, w27, uxtx #4
-1f5234eb| cmp x16, w20, uxtw #4
-9fb22a71| cmp w20, #0xaac
-df2478f1| cmp x6, #0xe09, lsl #12
-bf07026b| cmp w29, w2, lsl #1
-bfc514eb| cmp x13, x20, lsl #49
-d494975a| csneg w20, w6, w23, ls
-763591da| csneg x22, x11, x17, cc
-b440c91a| crc32b w20, w5, w9
-5745cd1a| crc32h w23, w10, w13
-684ad01a| crc32w w8, w19, w16
-884fd59a| crc32x w8, w28, x21
-ea50c61a| crc32cb w10, w7, w6
-1357cf1a| crc32ch w19, w24, w15
-9859c21a| crc32cw w24, w12, w2
-6e5fde9a| crc32cx w14, w27, x30
-9340941a| csel w19, w4, w20, mi
-dd42839a| csel x29, x22, x3, mi
-fe779f1a| cset w30, vs
-f1279f9a| cset x17, cc
-eb839f5a| csetm w11, ls
-e3139fda| csetm x3, eq
-a986841a| csinc w9, w21, w4, hi
-19b78b9a| csinc x25, x24, x11, lt
-4643835a| csinv w6, w26, w3, mi
-5ee38cda| csinv x30, x26, x12, al
-d166945a| csneg w17, w22, w20, vs
-55f793da| csneg x21, x26, x19, al
-0158add4| dcps1 #0x6ac0
-82ceb2d4| dcps2 #0x9674
-a31eb3d4| dcps3 #0x98f5
-bf3203d5| dmb oshst
-e003bfd6| drps
-9f3403d5| dsb #0x04
-2e2faeca| eon x14, x25, x14, asr #11
-de6b0152| eor w30, w30, #0x83ffffff
-4a7714d2| eor x10, x26, #0xfffff3fffffff3ff
-2cea0dca| eor x12, x17, x13, lsl #58
-e0039fd6| eret
-834cce93| extr x3, x4, x14, #19
-5f2003d5| wfe
-bf2e03d5| hint #0x75
-e0f055d4| hlt #0xaf87
-df3403d5| isb #0x4
-22fcdf88| ldar w2, [x1]
-78fedfc8| ldar x24, [x19]
-cffcdf08| ldarb w15, [x6]
-34fedf48| ldarh w20, [x17]
-17bb7f88| ldaxp w23, w14, [x24]
-6ffe7fc8| ldaxp x15, xzr, [x19]
-acfe5f88| ldaxr w12, [x21]
-cafe5fc8| ldaxr x10, [x22]
-ddfd5f08| ldaxrb w29, [x14]
-0efd5f48| ldaxrh w14, [x8]
-66445128| ldnp w6, w17, [x3,#136]
-3fa77fa8| ldnp xzr, x9, [x25,#-8]
-1e04eb28| ldp w30, w1, [x0],#-168
-0da6c0a8| ldp x13, x9, [x16],#8
-7d00d429| ldp w29, w0, [x3,#160]!
-d26ae1a9| ldp x18, x26, [x22,#-496]!
-d0ca6829| ldp w16, w18, [x22,#-188]
-a5e34fa9| ldp x5, x24, [x29,#248]
-3e44d168| ldpsw x30, x17, [x1],#136
-5f08e169| ldpsw xzr, x2, [x2,#-248]!
-430d6769| ldpsw x3, x3, [x10,#-200]
-2c555bb8| ldr w12, [x9],#-75
-83c557f8| ldr x3, [x12],#-132
-f36e47b8| ldr w19, [x23,#118]!
-6b1f48f8| ldr x11, [x27,#129]!
-f5d64ab9| ldr w21, [x23,#2772]
-872d7cf9| ldr x7, [x12,#30808]
-f23e8c18| ldr w18, .+0xfffffffffff187dc
-a7e72a58| ldr x7, .+0x55cf4
-82a75438| ldrb w2, [x28],#-182
-a7fd5738| ldrb w7, [x13,#-129]!
-c83d4239| ldrb w8, [x14,#143]
-58c96438| ldrb w24, [x10,w4,sxtw]
-8e687e38| ldrb w14, [x4,x30]
-70575378| ldrh w16, [x27],#-203
-015f5078| ldrh w1, [x24,#-251]!
-7add5c79| ldrh w26, [x11,#3694]
-2fcb7778| ldrh w15, [x25,w23,sxtw]
-c474c338| ldrsb w4, [x6],#55
-28869638| ldrsb x8, [x17],#-152
-fe3fd438| ldrsb w30, [sp,#-189]!
-da0f9938| ldrsb x26, [x30,#-112]!
-5b3ac739| ldrsb w27, [x18,#462]
-2c579e39| ldrsb x12, [x25,#1941]
-54faf838| ldrsb w20, [x18,x24,sxtx #0]
-fb68f238| ldrsb w27, [x7,x18]
-f26aad38| ldrsb x18, [x23,x13]
-17e4c978| ldrsh w23, [x0],#158
-a2759f78| ldrsh x2, [x13],#-9
-9c6ec478| ldrsh w28, [x20,#70]!
-fd6f8278| ldrsh x29, [sp,#38]!
-a82bc279| ldrsh w8, [x29,#276]
-9d89b979| ldrsh x29, [x12,#7364]
-962685b8| ldrsw x22, [x20],#82
-76ae8bb8| ldrsw x22, [x19,#186]!
-fc2193b9| ldrsw x28, [x15,#4896]
-7561fa98| ldrsw x21, .+0xffffffffffff4c2c
-e34842b8| ldtr w3, [x7,#36]
-4ff84df8| ldtr x15, [x2,#223]
-d9e84f38| ldtrb w25, [x6,#254]
-397b5378| ldtrh w25, [x25,#-201]
-c4c9d138| ldtrsb w4, [x14,#-228]
-02789638| ldtrsb x2, [x0,#-153]
-a988cb78| ldtrsh w9, [x5,#184]
-03888978| ldtrsh x3, [x0,#152]
-ccb99fb8| ldtrsw x12, [x14,#-5]
-efb154b8| ldur w15, [x15,#-181]
-fc2051f8| ldur x28, [x7,#-238]
-86d04438| ldurb w6, [x4,#77]
-73405d78| ldurh w19, [x3,#-44]
-7a81d538| ldursb w26, [x11,#-168]
-b0b28038| ldursb x16, [x21,#11]
-b4a1d278| ldursh w20, [x13,#-214]
-3ed18078| ldursh x30, [x9,#13]
-09628eb8| ldursw x9, [x16,#230]
-c07e7f88| ldxp w0, wzr, [x22]
-3e167fc8| ldxp x30, x5, [x17]
-727c5f88| ldxr w18, [x3]
-487c5fc8| ldxr x8, [x2]
-867d5f08| ldxrb w6, [x12]
-747f5f48| ldxrh w20, [x27]
-d920d71a| lsl w25, w6, w23
-b920c59a| lsl x25, x5, x5
-4da947d3| ubfx x13, x10, #7, #36
-be23ca1a| lsl w30, w29, w10
-cc20d19a| lsl x12, x6, x17
-ae26c31a| lsr w14, w21, w3
-fc27cb9a| lsr x28, xzr, x11
-2b7e1053| lsr w11, w17, #16
-cefe75d3| lsr x14, x22, #53
-3b25d01a| lsr w27, w9, w16
-e826d79a| lsr x8, x23, x23
-5504031b| madd w21, w2, w3, w1
-9e5c109b| madd x30, x4, x16, x23
-00fe1f1b| mneg w0, w16, wzr
-6efe179b| mneg x14, x19, x23
-31020011| add w17, w17, #0x0
-21000091| add x1, x1, #0x0
-39f1bf12| mov w25, #0x76ffff
-53b3e992| mov x19, #0xb265ffffffffffff
-c0fd9552| mov w0, #0xafee
-f16b97d2| mov x17, #0xbb5f
-e8972232| mov w8, #0xc00fc00f
-e27323b2| mov x2, #0xe3ffffffe3ffffff
-e9030e2a| mov w9, w14
-fb0310aa| mov x27, x16
-d0e48472| movk w16, #0x2726
-432dbcf2| movk x3, #0xe16a, lsl #16
-4b679612| mov w11, #0xffff4cc5
-9121e492| mov x17, #0xdef3ffffffffffff
-00be90d2| mov x0, #0x85f0
-91d730d5| mrs x17, s2_0_c13_c7_4
-cf301fd5| msr s3_7_c3_c0_6, x15
-daea181b| msub w26, w22, w24, w26
-e1a7109b| msub x1, xzr, x16, x9
-477f0d1b| mul w7, w26, w13
-a17d1c9b| mul x1, x13, x28
-fc9b79aa| mvn x28, x25, lsr #38
-f71b904b| neg w23, w16, asr #6
-e3df4acb| neg x3, x10, lsr #55
-f0334e6b| negs w16, w14, lsr #12
-e6031f5a| ngc w6, wzr
-f40302da| ngc x20, x2
-ee03137a| ngcs w14, w19
-ee0303fa| ngcs x14, x3
-1f2003d5| nop
-ab14e92a| orn w11, w5, w9, ror #5
-185c3faa| orn x24, x0, xzr, lsl #23
-a8850c32| orr w8, w13, #0x300030
-cad023b2| orr x10, x6, #0xe3e3e3e3e3e3e3e3
-5487ccaa| orr x20, x26, x12, ror #33
-293783f9| prfm plil1strm, [x25,#1640]
-501010d8| prfm pstl1keep, .+0x20208
-bc7389f8| prfum #0x1c, [x29,#151]
-9203c05a| rbit w18, w28
-0501c0da| rbit x5, x8
-40005fd6| ret x2
-940ac05a| rev w20, w20
-ca0fc0da| rev x10, x30
-7807c05a| rev16 w24, w27
-fb06c0da| rev16 x27, x23
-dc0ac0da| rev32 x28, x22
-970dc0da| rev x23, x12
-42408813| extr w2, w2, w8, #16
-5a96db93| extr x26, x18, x27, #37
-782cc41a| ror w24, w3, w4
-8c2ec69a| ror x12, x20, x6
-372ec61a| ror w23, w17, w6
-b72ddc9a| ror x23, x13, x28
-e501185a| sbc w5, w15, w24
-ac0011da| sbc x12, x5, x17
-7a03067a| sbcs w26, w27, w6
-310008fa| sbcs x17, x1, x8
-65837f93| sbfiz x5, x27, #1, #33
-5c1b4793| sbfiz x28, x26, #57, #7
-a71f5b93| sbfiz x7, x29, #37, #8
-640ede1a| sdiv w4, w19, w30
-2a0dd99a| sdiv x10, x9, x25
-9f2003d5| sev
-bf2003d5| sevl
-045c389b| smaddl x4, w0, w24, x23
-6efe3e9b| smnegl x14, w19, w30
-ebac239b| smsubl x11, w7, w3, x11
-947f459b| smulh x20, x28, x5
-d67e3e9b| smull x22, w22, w30
-6dff9f88| stlr w13, [x27]
-1ffd9fc8| stlr xzr, [x8]
-a8fe9f08| stlrb w8, [x21]
-abfd9f48| stlrh w11, [x13]
-2ec02888| stlxp w8, w14, w16, [x1]
-11993ec8| stlxp w30, x17, x6, [x8]
-bbfe0f88| stlxr w15, w27, [x21]
-e9fc09c8| stlxr w9, x9, [x7]
-c6fe0708| stlxrb w7, w6, [x22]
-c6fe0c48| stlxrh w12, w6, [x22]
-b3283028| stnp w19, w10, [x5,#-128]
-252e26a8| stnp x5, x11, [x17,#-416]
-9fb18c28| stp wzr, w12, [x12],#100
-9ce5aba8| stp x28, x25, [x12],#-328
-e5d08229| stp w5, w20, [x7,#20]!
-d6e79ea9| stp x22, x25, [x30,#488]!
-9eef2029| stp w30, w27, [x28,#-252]
-57b314a9| stp x23, x12, [x26,#328]
-eda503b8| str w13, [x15],#58
-62241df8| str x2, [x3],#-46
-d2bd18b8| str w18, [x14,#-117]!
-542d12f8| str x20, [x10,#-222]!
-e92c3bb9| str w9, [x7,#15148]
-de4804f9| str x30, [x6,#2192]
-cce40b38| strb w12, [x6],#190
-eafd1238| strb w10, [x15,#-209]!
-7fcb0639| strb wzr, [x27,#434]
-03f82738| strb w3, [x0,x7,sxtx #0]
-5c6a3e38| strb w28, [x18,x30]
-a8551978| strh w8, [x13],#-107
-9e6c0c78| strh w30, [x4,#198]!
-c83d0e79| strh w8, [x14,#1822]
-502a1db8| sttr w16, [x18,#-46]
-ae180af8| sttr x14, [x5,#161]
-ea1a0138| sttrb w10, [x23,#17]
-416b0278| sttrh w1, [x26,#38]
-659107b8| stur w5, [x11,#121]
-6b611ff8| stur x11, [x11,#-10]
-99a01c38| sturb w25, [x4,#-54]
-99421e78| sturh w25, [x20,#-28]
-3e2a2688| stxp w6, w30, w10, [x17]
-2f6a2cc8| stxp w12, x15, x26, [x17]
-7d7f1b88| stxr w27, w29, [x27]
-6e7e1bc8| stxr w27, x14, [x19]
-ec7c0208| stxrb w2, w12, [x7]
-ee7f0648| stxrh w6, w14, [sp]
-2f8d204b| sub w15, w9, w0, sxtb #3
-1fbe3acb| sub sp, x16, w26, sxth #7
-5af778d1| sub x26, x26, #0xe3d, lsl #12
-6729034b| sub w7, w11, w3, lsl #10
-ae683f6b| subs w14, w5, wzr, uxtx #2
-2f993deb| subs x15, x9, w29, sxtb #6
-db0d5f71| subs w27, w14, #0x7c3, lsl #12
-3aec1ff1| subs x26, x1, #0x7fb
-1f24016b| cmp w0, w1, lsl #9
-a1ae1bd4| svc #0xdd75
-a61e0013| sxtb w6, w21
-441c4093| sxtb x4, w2
-0c3c0013| sxth w12, w0
-b33f4093| sxth x19, w29
-407f4093| sxtw x0, w26
-455929d5| sysl x5, #1, C5, C9, #2
-d1005b37| tbnz w17, #11, .+0x6018
-798eaeb6| tbz x25, #53, .+0xffffffffffffd1cc
-bf8c1f72| tst w5, #0x1e001e
-ff10836a| tst w7, w3, asr #4
-dfc5daea| tst x14, x26, ror #49
-aa6e43d3| ubfx x10, x21, #3, #25
-46181a53| ubfiz w6, w2, #6, #7
-43294bd3| lsl x3, x10, #53
-77787dd3| ubfiz x23, x3, #3, #31
-1a0bd61a| udiv w26, w24, w22
-9308c19a| udiv x19, x4, x1
-755aa19b| umaddl x21, w19, w1, x22
-1ffdbe9b| umnegl xzr, w8, w30
-cbaaba9b| umsubl x11, w22, w26, x10
-0c7fdb9b| umulh x12, x24, x27
-cc7da79b| umull x12, w14, w7
-3d1c0053| uxtb w29, w1
-0e3f0053| uxth w14, w24
-5f2003d5| wfe
-7f2003d5| wfi
-3f2003d5| yield
-71b9604e| abs v17.8h, v11.8h
-5186f65e| add d17, d18, d22
-4986f34e| add v9.2d, v18.2d, v19.2d
-1243720e| addhn v18.4h, v24.4s, v18.4s
-0640354e| addhn2 v6.16b, v0.8h, v21.8h
-d9bdfa4e| addp v25.2d, v14.2d, v26.2d
-4c59284e| aesd v12.16b, v10.16b
-8c48284e| aese v12.16b, v4.16b
-f47a284e| aesimc v20.16b, v23.16b
-c56b284e| aesmc v5.16b, v30.16b
-bf1c3b0e| and v31.8b, v5.8b, v27.8b
-6444026f| mvni v4.4s, #0x43, lsl #16
-1357032f| bic v19.2s, #0x78, lsl #16
-561d6a0e| bic v22.8b, v10.8b, v10.8b
-cd1ff06e| bif v13.16b, v30.16b, v16.16b
-f31ebd6e| bit v19.16b, v23.16b, v29.16b
-6f1d6c2e| bsl v15.8b, v11.8b, v12.8b
-1e48600e| cls v30.4h, v0.4h
-6948202e| clz v9.8b, v3.8b
-968efd7e| cmeq d22, d20, d29
-e58f6d6e| cmeq v5.8h, v31.8h, v13.8h
-8f98600e| cmeq v15.4h, v4.4h, #0
-4f3db84e| cmge v15.4s, v10.4s, v24.4s
-2788a02e| cmge v7.2s, v1.2s, #0
-bf35714e| cmgt v31.8h, v13.8h, v17.8h
-4a89604e| cmgt v10.8h, v10.8h, #0
-9635252e| cmhi v22.8b, v12.8b, v5.8b
-d83eff6e| cmhs v24.2d, v22.2d, v31.2d
-cb99206e| cmle v11.16b, v14.16b, #0
-29a9604e| cmlt v9.8h, v9.8h, #0
-d18eea5e| cmtst d17, d22, d10
-d18ea94e| cmtst v17.4s, v22.4s, v9.4s
-4a04075e| mov b10, v2.b[3]
-0504040e| dup v5.2s, v0.s[0]
-b20e1f4e| dup v18.16b, w21
-2a1f3e6e| eor v10.16b, v25.16b, v30.16b
-0bd5aa7e| fabd s11, s8, s10
-12d7b96e| fabd v18.4s, v24.4s, v25.4s
-a1f9a04e| fabs v1.4s, v13.4s
-1ac3201e| fabs s26, s24
-d8c3601e| fabs d24, d30
-95ee267e| facge s21, s20, s6
-2bee262e| facge v11.2s, v17.2s, v6.2s
-1aedec7e| facgt d26, d8, d12
-74effa6e| facgt v20.2d, v27.2d, v26.2d
-7ed4260e| fadd v30.2s, v3.2s, v6.2s
-4528251e| fadd s5, s2, s5
-262b661e| fadd d6, d25, d6
-84d8707e| faddp d4, v4.2d
-71d4276e| faddp v17.4s, v3.4s, v7.4s
-a5f43f1e| fccmp s5, s31, #0x5, al
-20e5601e| fccmp d9, d0, #0x0, al
-52d4331e| fccmpe s2, s19, #0x2, le
-1e66761e| fccmpe d16, d22, #0xe, vs
-d7e6695e| fcmeq d23, d22, d9
-e7d9a05e| fcmeq s7, s15, #0
-dadaa04e| fcmeq v26.4s, v22.4s, #0
-28e5737e| fcmge d8, d9, d19
-a2e73a6e| fcmge v2.4s, v29.4s, v26.4s
-4fcba07e| fcmge s15, s26, #0
-43c8a02e| fcmge v3.2s, v2.2s, #0
-ffe5a67e| fcmgt s31, s15, s6
-7ee7bd2e| fcmgt v30.2s, v27.2s, v29.2s
-5bc8e05e| fcmgt d27, d2, #0
-3dc9a04e| fcmgt v29.4s, v9.4s, #0
-38daa07e| fcmle s24, s17, #0
-8fdaa02e| fcmle v15.2s, v20.2s, #0
-93e8e05e| fcmlt d19, d4, #0
-9fe9a04e| fcmlt v31.4s, v12.4s, #0
-a023201e| fcmp s29, s0
-c822231e| fcmp s22, #0
-a022651e| fcmp d21, d5
-a8227d1e| fcmp d21, #0
-70203e1e| fcmpe s3, s30
-38232b1e| fcmpe s25, #0
-70206c1e| fcmpe d3, d12
-b823731e| fcmpe d29, #0
-3e6f331e| fcsel s30, s25, s19, vs
-a64f6d1e| fcsel d6, d29, d13, mi
-0d41e21e| fcvt s13, h8
-cbc0e21e| fcvt d11, h6
-18c0231e| fcvt h24, s0
-a7c0221e| fcvt d7, s5
-e7c3631e| fcvt h7, d31
-9f43621e| fcvt s31, d28
-a0c8215e| fcvtas s0, s5
-4dc8210e| fcvtas v13.2s, v2.2s
-0300241e| fcvtas w3, s0
-fd03249e| fcvtas x29, s31
-ef01641e| fcvtas w15, d15
-4c01649e| fcvtas x12, d10
-9ac8617e| fcvtau d26, d4
-b802251e| fcvtau w24, s21
-2a03259e| fcvtau x10, s25
-ea00651e| fcvtau w10, d7
-0102659e| fcvtau x1, d16
-0d7a610e| fcvtl v13.2d, v16.2s
-ed79214e| fcvtl2 v13.4s, v15.8h
-43bb615e| fcvtms d3, d26
-c000301e| fcvtms w0, s6
-9202309e| fcvtms x18, s20
-0800701e| fcvtms w8, d0
-6603709e| fcvtms x6, d27
-f0b9217e| fcvtmu s16, s15
-3bba212e| fcvtmu v27.2s, v17.2s
-5900311e| fcvtmu w25, s2
-9a03319e| fcvtmu x26, s28
-fa01711e| fcvtmu w26, d15
-6f01719e| fcvtmu x15, d11
-1968210e| fcvtn v25.4h, v0.4s
-3d69214e| fcvtn2 v29.8h, v9.4s
-87aa615e| fcvtns d7, d20
-e301201e| fcvtns w3, s15
-6002209e| fcvtns x0, s19
-1600601e| fcvtns w22, d0
-8503609e| fcvtns x5, d28
-f5ab617e| fcvtnu d21, d31
-2b02211e| fcvtnu w11, s17
-f902219e| fcvtnu x25, s23
-0702611e| fcvtnu w7, d16
-9d03619e| fcvtnu x29, d28
-dcaba15e| fcvtps s28, s30
-b4a8a10e| fcvtps v20.2s, v5.2s
-5302281e| fcvtps w19, s18
-e003289e| fcvtps x0, s31
-9501681e| fcvtps w21, d12
-6703689e| fcvtps x7, d27
-68a8a17e| fcvtpu s8, s3
-dcaba12e| fcvtpu v28.2s, v30.2s
-9d03291e| fcvtpu w29, s28
-5f01299e| fcvtpu xzr, s10
-e101691e| fcvtpu w1, d15
-3f00699e| fcvtpu xzr, d1
-ee6b612e| fcvtxn v14.2s, v31.2d
-b1fd215f| fcvtzs s17, s13, #31
-bafd2c0f| fcvtzs v26.2s, v13.2s, #20
-47b8e15e| fcvtzs d7, d2
-dcbbe14e| fcvtzs v28.2d, v30.2d
-56f8181e| fcvtzs w22, s2, #2
-9265189e| fcvtzs x18, s12, #39
-d3ad581e| fcvtzs w19, d14, #21
-3d9b589e| fcvtzs x29, d25, #26
-1a00381e| fcvtzs w26, s0
-d302389e| fcvtzs x19, s22
-5303781e| fcvtzs w19, d26
-8f01789e| fcvtzs x15, d12
-57fe537f| fcvtzu d23, d18, #45
-beff796f| fcvtzu v30.2d, v29.2d, #7
-08b9e17e| fcvtzu d8, d8
-cdbbe16e| fcvtzu v13.2d, v30.2d
-2126199e| fcvtzu x1, s17, #55
-70a9591e| fcvtzu w16, d11, #22
-8c25599e| fcvtzu x12, d12, #55
-1201391e| fcvtzu w18, s8
-0800399e| fcvtzu x8, s0
-da00791e| fcvtzu w26, d6
-2903799e| fcvtzu x9, d25
-56fd3f2e| fdiv v22.2s, v10.2s, v31.2s
-1f182e1e| fdiv s31, s0, s14
-ce1b741e| fdiv d14, d30, d20
-0d61021f| fmadd s13, s8, s2, s24
-03205e1f| fmadd d3, d0, d30, d8
-72f6654e| fmax v18.2d, v19.2d, v5.2d
-1849281e| fmax s24, s8, s8
-8e4a6e1e| fmax d14, d20, d14
-54c7304e| fmaxnm v20.4s, v26.4s, v16.4s
-91683a1e| fmaxnm s17, s4, s26
-f56a721e| fmaxnm d21, d23, d18
-c8cb307e| fmaxnmp s8, v30.2s
-06c9306e| fmaxnmv s6, v8.4s
-b6fb707e| fmaxp d22, v29.2d
-1759341e| fmin s23, s8, s20
-675b721e| fmin d7, d27, d18
-69792d1e| fminnm s9, s11, s13
-ab786b1e| fminnm d11, d5, d11
-0fcab07e| fminnmp s15, v16.2s
-d2c6b26e| fminnmp v18.4s, v22.4s, v18.4s
-22fab07e| fminp s2, v17.2s
-f5f5f56e| fminp v21.2d, v15.2d, v21.2d
-bc13c95f| fmla d28, d29, v9.d[0]
-5d51a85f| fmls s29, s10, v8.s[1]
-d3ccb94e| fmls v19.4s, v6.4s, v25.4s
-5bf4014f| fmov v27.4s, #9.000000000000000000e+00
-5bf5026f| fmov v27.2d, #2.031250000000000000e-01
-6541201e| fmov s5, s11
-b742601e| fmov d23, d21
-6002271e| fmov s0, w19
-5301261e| fmov w19, s10
-c103679e| fmov d1, x30
-3301af9e| fmov v19.d[1], x9
-bd00669e| fmov x29, d5
-ee02ae9e| fmov x14, v23.d[1]
-0ff0251e| fmov s15, #1.550000000000000000e+01
-16506a1e| fmov d22, #2.812500000000000000e-01
-d1c20e1f| fmsub s17, s22, s14, s16
-fdae491f| fmsub d29, d23, d9, d11
-a4989d4f| fmul v4.4s, v5.4s, v29.s[2]
-efde706e| fmul v15.2d, v23.2d, v16.2d
-190a291e| fmul s25, s16, s9
-430a671e| fmul d3, d18, d7
-21919e7f| fmulx s1, s9, v30.s[0]
-5298c76f| fmulx v18.2d, v2.2d, v7.d[1]
-1ddf3c5e| fmulx s29, s24, s28
-a2fba06e| fneg v2.4s, v29.4s
-7a40211e| fneg s26, s3
-f843611e| fneg d24, d31
-326b381f| fnmadd s18, s25, s24, s26
-4b636a1f| fnmadd d11, d26, d10, d24
-48fa201f| fnmsub s8, s18, s0, s30
-04d87f1f| fnmsub d4, d0, d31, d22
-0289371e| fnmul s2, s8, s23
-0e8a691e| fnmul d14, d16, d9
-05dba15e| frecpe s5, s24
-42d9a14e| frecpe v2.4s, v10.4s
-2eff655e| frecps d14, d25, d5
-03fe774e| frecps v3.2d, v16.2d, v23.2d
-b4fba15e| frecpx s20, s29
-9d41261e| frinta s29, s12
-ea42661e| frinta d10, d23
-e399a16e| frinti v3.4s, v15.4s
-6ec3271e| frinti s14, s27
-ecc1671e| frinti d12, d15
-4543251e| frintm s5, s26
-f242651e| frintm d18, d23
-898a214e| frintn v9.4s, v20.4s
-1641241e| frintn s22, s8
-5341641e| frintn d19, d10
-248be14e| frintp v4.2d, v25.2d
-35c2241e| frintp s21, s17
-6fc3641e| frintp d15, d27
-0940271e| frintx s9, s0
-4643671e| frintx d6, d26
-749aa14e| frintz v20.4s, v19.4s
-8bc0251e| frintz s11, s4
-7cc1651e| frintz d28, d11
-dedbe17e| frsqrte d30, d30
-04daa16e| frsqrte v4.4s, v16.4s
-cdfce45e| frsqrts d13, d6, d4
-d9fda04e| frsqrts v25.4s, v14.4s, v0.4s
-c5c1211e| fsqrt s5, s14
-67c1611e| fsqrt d7, d11
-a4d6b14e| fsub v4.4s, v21.4s, v17.4s
-6138351e| fsub s1, s3, s21
-be3b6a1e| fsub d30, d29, d10
-4d2f016e| mov v13.b[0], v26.b[5]
-741e174e| mov v20.b[11], w19
-e170404c| ld1 {v1.16b}, [x7]
-7aa9404c| ld1 {v26.4s, v27.4s}, [x11]
-4b6d400c| ld1 {v11.1d-v13.1d}, [x10]
-582b400c| ld1 {v24.2s-v27.2s}, [x26]
-8f7cdf4c| ld1 {v15.2d}, [x4],#16
-0a76ce4c| ld1 {v10.8h}, [x16], x14
-2aa6df0c| ld1 {v10.4h, v11.4h}, [x17],#16
-35a7d70c| ld1 {v21.4h, v22.4h}, [x25], x23
-ae6ddf4c| ld1 {v14.2d-v16.2d}, [x13],#48
-b362d74c| ld1 {v19.16b-v21.16b}, [x21], x23
-6d22df0c| ld1 {v13.8b-v16.8b}, [x19],#32
-6722c90c| ld1 {v7.8b-v10.8b}, [x19], x9
-c71f404d| ld1 {v7.b}[15], [x30]
-f55a400d| ld1 {v21.h}[3], [x23]
-f080400d| ld1 {v16.s}[0], [x7]
-ed84404d| ld1 {v13.d}[1], [x7]
-fd0bdf4d| ld1 {v29.b}[10], [sp],#1
-c811dc0d| ld1 {v8.b}[4], [x14], x28
-6548cb4d| ld1 {v5.h}[5], [x3], x11
-9882df4d| ld1 {v24.s}[2], [x20],#4
-f482c74d| ld1 {v20.s}[2], [x23], x7
-0d87df0d| ld1 {v13.d}[0], [x24],#8
-1b85db0d| ld1 {v27.d}[0], [x8], x27
-58c3404d| ld1r {v24.16b}, [x26]
-c0c6df4d| ld1r {v0.8h}, [x22],#2
-a6cec90d| ld1r {v6.1d}, [x21], x9
-e68a400c| ld2 {v6.2s, v7.2s}, [x23]
-4007604d| ld2 {v0.b, v1.b}[9], [x26]
-8c49604d| ld2 {v12.h, v13.h}[5], [x12]
-4f92600d| ld2 {v15.s, v16.s}[1], [x18]
-b186600d| ld2 {v17.d, v18.d}[0], [x21]
-631aff0d| ld2 {v3.b, v4.b}[6], [x19],#2
-330ceb4d| ld2 {v19.b, v20.b}[11], [x1], x11
-454bff4d| ld2 {v5.h, v6.h}[5], [x26],#4
-0792ff0d| ld2 {v7.s, v8.s}[1], [x16],#8
-3b91fd0d| ld2 {v27.s, v28.s}[1], [x9], x29
-b086ff4d| ld2 {v16.d, v17.d}[1], [x21],#16
-da86e30d| ld2 {v26.d, v27.d}[0], [x22], x3
-e7cf604d| ld2r {v7.2d, v8.2d}, [sp]
-5ac8ff0d| ld2r {v26.2s, v27.2s}, [x2],#8
-13c1f10d| ld2r {v19.8b, v20.8b}, [x8], x17
-0947404c| ld3 {v9.8h-v11.8h}, [x24]
-8043df0c| ld3 {v0.8b-v2.8b}, [x28],#24
-6344d50c| ld3 {v3.4h-v5.4h}, [x3], x21
-663d400d| ld3 {v6.b-v8.b}[7], [x11]
-5b6b400d| ld3 {v27.h-v29.h}[1], [x26]
-02a0404d| ld3 {v2.s-v4.s}[2], [x0]
-e1a5404d| ld3 {v1.d-v3.d}[1], [x15]
-b53edf0d| ld3 {v21.b-v23.b}[7], [x21],#3
-f625d10d| ld3 {v22.b-v24.b}[1], [x15], x17
-3d7bda4d| ld3 {v29.h-v31.h}[7], [x25], x26
-6ea0df0d| ld3 {v14.s-v16.s}[0], [x3],#12
-d9a0c60d| ld3 {v25.s-v27.s}[0], [x6], x6
-b6a7df0d| ld3 {v22.d-v24.d}[0], [x29],#24
-dfa6d94d| ld3 {v31.d, v0.d, v1.d}[1], [x22], x25
-7de9404d| ld3r {v29.4s-v31.4s}, [x11]
-2fe6df4d| ld3r {v15.8h-v17.8h}, [x17],#6
-cae7c84d| ld3r {v10.8h-v12.8h}, [x30], x8
-9a0b400c| ld4 {v26.2s-v29.2s}, [x28]
-4b03df0c| ld4 {v11.8b-v14.8b}, [x26],#32
-8e0bcc4c| ld4 {v14.4s-v17.4s}, [x28], x12
-182c604d| ld4 {v24.b-v27.b}[11], [x0]
-feb2600d| ld4 {v30.s, v31.s, v0.s, v1.s}[1], [x23]
-59a4604d| ld4 {v25.d-v28.d}[1], [x2]
-9b25ff4d| ld4 {v27.b-v30.b}[9], [x12],#4
-1f35e84d| ld4 {v31.b, v0.b, v1.b, v2.b}[13], [x8], x8
-91b2ff4d| ld4 {v17.s-v20.s}[3], [x20],#16
-88b3ed4d| ld4 {v8.s-v11.s}[3], [x28], x13
-9aa5ff4d| ld4 {v26.d-v29.d}[1], [x12],#32
-efa5e10d| ld4 {v15.d-v18.d}[0], [x15], x1
-07ed604d| ld4r {v7.2d-v10.2d}, [x8]
-0defff0d| ld4r {v13.1d-v16.1d}, [x24],#32
-43e1f14d| ld4r {v3.16b-v6.16b}, [x10], x17
-136e682c| ldnp s19, s27, [x16,#-192]
-cc67676c| ldnp d12, d25, [x30,#-400]
-e6dd4eac| ldnp q6, q23, [x15,#464]
-b7e9c22c| ldp s23, s26, [x13],#20
-92c3fe6c| ldp d18, d16, [x28],#-24
-f281e6ac| ldp q18, q0, [x15],#-816
-4f06cd2d| ldp s15, s1, [x18,#104]!
-0f6fdc6d| ldp d15, d27, [x24,#448]!
-170ccbad| ldp q23, q3, [x0,#352]!
-71ea7a2d| ldp s17, s26, [x19,#-44]
-c8816c6d| ldp d8, d0, [x14,#-312]
-da6540ad| ldp q26, q25, [x14]
-92064c3c| ldr b18, [x20],#192
-94d4577c| ldr h20, [x4],#-131
-39055fbc| ldr s25, [x9],#-16
-989551fc| ldr d24, [x12],#-231
-4764c23c| ldr q7, [x2],#38
-c15e4e3c| ldr b1, [x22,#229]!
-c8ce487c| ldr h8, [x22,#140]!
-ca5d5bbc| ldr s10, [x14,#-75]!
-34fd56fc| ldr d20, [x9,#-145]!
-bd0dd53c| ldr q29, [x13,#-176]!
-ab65443d| ldr b11, [x13,#281]
-cb57537d| ldr h11, [x30,#2474]
-f2606fbd| ldr s18, [x7,#12128]
-088b67fd| ldr d8, [x24,#20240]
-0173ce3d| ldr q1, [x24,#14784]
-ba112c1c| ldr s26, .+0x58234
-e489c25c| ldr d4, .+0xfffffffffff8513c
-42458d9c| ldr q2, .+0xfffffffffff1a8a8
-3cdb753c| ldr b28, [x25,w21,sxtw #0]
-726b733c| ldr b18, [x27,x19]
-395b627c| ldr h25, [x25,w2,uxtw #1]
-9b486cbc| ldr s27, [x4,w12,uxtw]
-1cda7efc| ldr d28, [x16,w30,sxtw #3]
-365bf33c| ldr q22, [x25,w19,uxtw #4]
-43a1413c| ldur b3, [x10,#26]
-c7034f7c| ldur h7, [x30,#240]
-ad8350bc| ldur s13, [x29,#-248]
-07a350fc| ldur d7, [x24,#-246]
-0212c63c| ldur q2, [x16,#97]
-6f0a7a2f| mla v15.4h, v19.4h, v10.h[7]
-fe95294e| mla v30.16b, v15.16b, v9.16b
-f24a4f2f| mls v18.4h, v23.4h, v15.h[4]
-26947e2e| mls v6.4h, v1.4h, v30.4h
-6606115e| mov b6, v19.b[8]
-0866116e| mov v8.b[8], v16.b[12]
-6e1d0f4e| mov v14.b[7], w11
-6d1fa10e| orr v13.8b, v27.8b, v1.8b
-b93f1a0e| umov w25, v29.h[6]
-74e7020f| movi v20.8b, #0x5b
-0ff4040f| fmov v15.2s, #-2.000000000000000000e+00
-4c47060f| movi v12.2s, #0xda, lsl #16
-aa06064f| movi v10.4s, #0xd5
-8de4042f| movi d13, #0xff00000000ff0000
-b1e6046f| movi v17.2d, #0xff0000ff00ff00ff
-609f214e| mul v0.16b, v27.16b, v1.16b
-9f5a206e| mvn v31.16b, v20.16b
-da65032f| mvni v26.2s, #0x6e, lsl #24
-4d36036f| bic v13.4s, #0x72, lsl #8
-4d66052f| mvni v13.2s, #0xb2, lsl #24
-a4bbe06e| neg v4.2d, v29.2d
-bf5a206e| mvn v31.16b, v21.16b
-2b1fe24e| orn v11.16b, v25.16b, v2.16b
-22e4024f| movi v2.16b, #0x41
-3086050f| movi v16.4h, #0xb1
-051db80e| orr v5.8b, v8.8b, v24.8b
-48e2290e| pmull v8.8h, v18.8b, v9.8b
-7341652e| raddhn v19.4h, v11.4s, v5.4s
-1b417f6e| raddhn2 v27.8h, v8.4s, v31.4s
-e158606e| rbit v1.16b, v7.16b
-f418200e| rev16 v20.8b, v7.8b
-228d2a0f| rshrn v2.2s, v9.2d, #22
-a861aa2e| rsubhn v8.2s, v13.2d, v10.2d
-7160786e| rsubhn2 v17.8h, v3.4s, v24.4s
-cc7f314e| saba v12.16b, v30.16b, v17.16b
-1350644e| sabal2 v19.4s, v0.8h, v4.8h
-a1757d4e| sabd v1.8h, v13.8h, v29.8h
-0971a00e| sabdl v9.2d, v8.2s, v0.2s
-af70214e| sabdl2 v15.8h, v5.16b, v1.16b
-626ba04e| sadalp v2.2d, v27.4s
-1503374e| saddl2 v21.8h, v24.16b, v23.16b
-592b204e| saddlp v25.8h, v26.16b
-d813600e| saddw v24.4s, v30.4s, v0.4h
-31e5210f| scvtf v17.2s, v9.2s, #31
-aeda215e| scvtf s14, s21
-f0e9021e| scvtf s16, w15, #6
-42b4421e| scvtf d2, w2, #19
-8b10029e| scvtf s11, x4, #60
-59e6429e| scvtf d25, x18, #7
-cf01221e| scvtf s15, w14
-2d03621e| scvtf d13, w25
-af00229e| scvtf s15, x5
-bf00629e| scvtf d31, x5
-2a02025e| sha1c q10, s17, v2.4s
-8b0b285e| sha1h s11, s28
-11201f5e| sha1m q17, s0, v31.4s
-f110115e| sha1p q17, s7, v17.4s
-b732115e| sha1su0 v23.4s, v21.4s, v17.4s
-cf18285e| sha1su1 v15.4s, v6.4s
-2e520f5e| sha256h2 q14, q17, v15.4s
-77401a5e| sha256h q23, q3, v26.4s
-b92a285e| sha256su0 v25.4s, v21.4s
-7e63175e| sha256su1 v30.4s, v27.4s, v23.4s
-d504ab0e| shadd v21.2s, v6.2s, v11.2s
-5a54734f| shl v26.2d, v2.2d, #51
-0638212e| shll v6.8h, v0.8b, #8
-a238216e| shll2 v2.8h, v5.16b, #8
-f5863e0f| shrn v21.2s, v23.2d, #2
-f187234f| shrn2 v17.4s, v31.2d, #29
-e124b04e| shsub v1.4s, v7.4s, v16.4s
-3657252f| sli v22.2s, v25.2s, #5
-c266aa4e| smax v2.4s, v22.4s, v10.4s
-2c6ca74e| smin v12.4s, v1.4s, v7.4s
-4aae390e| sminp v10.8b, v18.8b, v25.8b
-1a82ba0e| smlal v26.2d, v16.2s, v26.2s
-2381ad4e| smlal2 v3.2d, v9.4s, v13.4s
-0da17a4e| smlsl2 v13.4s, v8.8h, v26.8h
-4f2e0d4e| smov x15, v18.b[6]
-e4a0980f| smull v4.2d, v7.2s, v24.s[0]
-51c2220e| smull v17.8h, v18.8b, v2.8b
-01c26d4e| smull2 v1.4s, v16.8h, v13.8h
-f978205e| sqabs b25, b7
-760cef5e| sqadd d22, d3, d15
-390c224e| sqadd v25.16b, v1.16b, v2.16b
-5439455f| sqdmlal s20, h10, v5.h[4]
-8391765e| sqdmlal s3, h12, h22
-c9907a4e| sqdmlal2 v9.4s, v6.8h, v26.8h
-0b73445f| sqdmlsl s11, h24, v4.h[0]
-8e728d0f| sqdmlsl v14.2d, v20.2s, v13.s[0]
-fe787d4f| sqdmlsl2 v30.4s, v7.8h, v13.h[7]
-bdb2b55e| sqdmlsl d29, s21, s21
-d0c9be4f| sqdmulh v16.4s, v14.4s, v30.s[3]
-89b77c5e| sqdmulh h9, h28, h28
-c9bb515f| sqdmull s9, h30, v1.h[5]
-5379e07e| sqneg d19, d10
-4b7aa06e| sqneg v11.4s, v18.4s
-1bd1750f| sqrdmulh v27.4h, v8.4h, v5.h[3]
-f55e755e| sqrshl h21, h23, h21
-ba5fbd4e| sqrshl v26.4s, v29.4s, v29.4s
-ba9d1e0f| sqrshrn v26.4h, v13.4s, #2
-3d9c284f| sqrshrn2 v29.4s, v1.2d, #24
-8a8f2c6f| sqrshrun2 v10.4s, v28.2d, #20
-eb760b5f| sqshl b11, b23, #3
-4a77220f| sqshl v10.2s, v26.2s, #2
-6c4cfb5e| sqshl d12, d3, d27
-ad4eba4e| sqshl v13.4s, v21.4s, v26.4s
-9364257f| sqshlu s19, s4, #5
-b267392f| sqshlu v18.2s, v29.2s, #25
-c085042f| mvni v0.4h, #0x8e
-7584326f| sqshrun2 v21.4s, v3.2d, #14
-3a2fe25e| sqsub d26, d25, d2
-2c2ca34e| sqsub v12.4s, v1.4s, v3.4s
-484ba15e| sqxtn s8, d26
-824b210e| sqxtn v2.8b, v28.8h
-5b48214e| sqxtn2 v27.16b, v2.8h
-e228a16e| sqxtun2 v2.4s, v7.2d
-1c44416f| sri v28.2d, v0.2d, #63
-1e56eb5e| srshl d30, d16, d11
-bb56fe4e| srshl v27.2d, v21.2d, v30.2d
-c6262d0f| srshr v6.2s, v22.2s, #19
-0c366c5f| srsra d12, d16, #20
-13376e4f| srsra v19.2d, v24.2d, #18
-7ba5040f| movi v27.4h, #0x8b, lsl #8
-9c076f5f| sshr d28, d28, #17
-2804434f| sshr v8.2d, v1.2d, #61
-b717535f| ssra d23, d29, #45
-c2160f0f| ssra v2.8b, v22.8b, #1
-8a333a4e| ssubw2 v10.8h, v28.8h, v26.16b
-3a70000c| st1 {v26.8b}, [x1]
-1bab004c| st1 {v27.4s, v28.4s}, [x24]
-8d69004c| st1 {v13.4s-v15.4s}, [x12]
-9c26004c| st1 {v28.8h-v31.8h}, [x20]
-c87a9f0c| st1 {v8.2s}, [x22],#8
-5a7f800c| st1 {v26.1d}, [x26], x0
-eea99f4c| st1 {v14.4s, v15.4s}, [x15],#32
-11af9d4c| st1 {v17.2d, v18.2d}, [x24], x29
-ec689f0c| st1 {v12.2s-v14.2s}, [x7],#24
-8662900c| st1 {v6.8b-v8.8b}, [x20], x16
-0b249f4c| st1 {v11.8h-v14.8h}, [x0],#64
-6b2d8b4c| st1 {v11.2d-v14.2d}, [x11], x11
-3212004d| st1 {v18.b}[12], [x17]
-3392004d| st1 {v19.s}[3], [x17]
-0284000d| st1 {v2.d}[0], [x0]
-340f9f0d| st1 {v20.b}[3], [x25],#1
-0d069a4d| st1 {v13.b}[9], [x16], x26
-2e51950d| st1 {v14.h}[2], [x9], x21
-3f839f0d| st1 {v31.s}[0], [x25],#4
-1492844d| st1 {v20.s}[3], [x16], x4
-dd869f4d| st1 {v29.d}[1], [x22],#8
-2e869b4d| st1 {v14.d}[1], [x17], x27
-1e87000c| st2 {v30.4h, v31.4h}, [x24]
-07829f0c| st2 {v7.8b, v8.8b}, [x16],#16
-d38a884c| st2 {v19.4s, v20.4s}, [x22], x8
-541c204d| st2 {v20.b, v21.b}[15], [x2]
-9180200d| st2 {v17.s, v18.s}[0], [x4]
-2585204d| st2 {v5.d, v6.d}[1], [x9]
-2f06bf4d| st2 {v15.b, v16.b}[9], [x17],#2
-3b08b44d| st2 {v27.b, v28.b}[10], [x1], x20
-805bbf0d| st2 {v0.h, v1.h}[3], [x28],#4
-fb80bf0d| st2 {v27.s, v28.s}[0], [x7],#8
-6290a80d| st2 {v2.s, v3.s}[1], [x3], x8
-b587bf4d| st2 {v21.d, v22.d}[1], [x29],#16
-2c84b64d| st2 {v12.d, v13.d}[1], [x1], x22
-22469f0c| st3 {v2.4h-v4.4h}, [x17],#24
-0e30004d| st3 {v14.b-v16.b}[12], [x0]
-62a1004d| st3 {v2.s-v4.s}[2], [x11]
-54a4000d| st3 {v20.d-v22.d}[0], [x2]
-84259f4d| st3 {v4.b-v6.b}[9], [x12],#3
-693c9d4d| st3 {v9.b-v11.b}[15], [x3], x29
-5b709f0d| st3 {v27.h-v29.h}[2], [x2],#6
-e47a960d| st3 {v4.h-v6.h}[3], [x23], x22
-a0a39f0d| st3 {v0.s-v2.s}[0], [x29],#12
-37b0890d| st3 {v23.s-v25.s}[1], [x1], x9
-9aa59f4d| st3 {v26.d-v28.d}[1], [x12],#24
-26a5924d| st3 {v6.d-v8.d}[1], [x9], x18
-3e05000c| st4 {v30.4h, v31.4h, v0.4h, v1.4h}, [x9]
-a8039f0c| st4 {v8.8b-v11.8b}, [x29],#32
-4126204d| st4 {v1.b-v4.b}[9], [x18]
-3b71204d| st4 {v27.h-v30.h}[6], [x9]
-f2b3204d| st4 {v18.s-v21.s}[3], [sp]
-7fa4200d| st4 {v31.d, v0.d, v1.d, v2.d}[0], [x3]
-562ebf4d| st4 {v22.b-v25.b}[11], [x18],#4
-563cae0d| st4 {v22.b-v25.b}[7], [x2], x14
-1271bf4d| st4 {v18.h-v21.h}[6], [x8],#8
-e7a1bf0d| st4 {v7.s-v10.s}[0], [x15],#16
-f3b2a30d| st4 {v19.s-v22.s}[1], [x23], x3
-eca5bf4d| st4 {v12.d-v15.d}[1], [x15],#32
-4ca7bb0d| st4 {v12.d-v15.d}[0], [x26], x27
-4f5b182c| stnp s15, s22, [x26,#192]
-e05e0b6c| stnp d0, d23, [x23,#176]
-77be2eac| stnp q23, q15, [x19,#-560]
-bb3fa72c| stp s27, s15, [x29],#-200
-ef18bb6c| stp d15, d6, [x7],#-80
-777d84ac| stp q23, q31, [x11],#128
-d0f9952d| stp s16, s30, [x14,#172]!
-125ca26d| stp d18, d23, [x0,#-480]!
-33bbbfad| stp q19, q14, [x25,#-16]!
-6ebb322d| stp s14, s14, [x27,#-108]
-cb92096d| stp d11, d4, [x22,#152]
-f2871dad| stp q18, q1, [sp,#944]
-f676003c| str b22, [x23],#7
-50f50d7c| str h16, [x10],#223
-0d251ebc| str s13, [x8],#-30
-1f3510fc| str d31, [x8],#-253
-05a4883c| str q5, [x0],#138
-800e063c| str b0, [x20,#96]!
-668d157c| str h6, [x11,#-168]!
-1f3d11bc| str s31, [x8,#-237]!
-71bf06fc| str d17, [x27,#107]!
-f50c843c| str q21, [x7,#64]!
-f186013d| str b17, [x23,#97]
-f0e5357d| str h16, [x15,#6898]
-938d3bbd| str s19, [x12,#15244]
-aeb813fd| str d14, [x5,#10096]
-2cc4943d| str q12, [x1,#21264]
-e2f8263c| str b2, [x7,x6,sxtx #0]
-1d79373c| str b29, [x8,x23,lsl #0]
-bc70003c| stur b28, [x5,#7]
-7190157c| stur h17, [x3,#-167]
-073309bc| stur s7, [x24,#147]
-298100fc| stur d9, [x9,#8]
-e8c1843c| stur q8, [x15,#76]
-3384266e| sub v19.16b, v1.16b, v6.16b
-9163750e| subhn v17.4h, v28.4s, v21.4s
-f3627d4e| subhn2 v19.8h, v23.4s, v29.4s
-1939205e| suqadd b25, b8
-0638604e| suqadd v6.8h, v0.8h
-81a4284f| sshll2 v1.2d, v4.4s, #8
-f920030e| tbl v25.8b, {v7.16b, v8.16b}, v3.8b
-71400e4e| tbl v17.16b, {v3.16b-v5.16b}, v14.16b
-bc630d4e| tbl v28.16b, {v29.16b, v30.16b, v31.16b, v0.16b}, v13.16b
-6803030e| tbl v8.8b, {v27.16b}, v3.8b
-4b32124e| tbx v11.16b, {v18.16b, v19.16b}, v18.16b
-8f50170e| tbx v15.8b, {v4.16b-v6.16b}, v23.8b
-5673020e| tbx v22.8b, {v26.16b-v29.16b}, v2.8b
-f2130f4e| tbx v18.16b, {v31.16b}, v15.16b
-9e29c34e| trn1 v30.2d, v12.2d, v3.2d
-9b6bcf4e| trn2 v27.2d, v28.2d, v15.2d
-157cb02e| uaba v21.2s, v0.2s, v16.2s
-28513c2e| uabal v8.8h, v9.8b, v28.8b
-f950a26e| uabal2 v25.2d, v7.4s, v2.4s
-a776b26e| uabd v7.4s, v21.4s, v18.4s
-da726b2e| uabdl v26.4s, v22.4h, v11.4h
-9473746e| uabdl2 v20.4s, v28.8h, v20.8h
-aa6b602e| uadalp v10.2s, v29.4h
-ac013d2e| uaddl v12.8h, v13.8b, v29.8b
-e500a86e| uaddl2 v5.2d, v7.4s, v8.4s
-9c28a02e| uaddlp v28.1d, v4.2s
-4c3a302e| uaddlv h12, v18.8b
-2810b62e| uaddw v8.2d, v1.2d, v22.2s
-f2132d6e| uaddw2 v18.8h, v31.8h, v13.16b
-b3e67f7f| ucvtf d19, d21, #1
-ece5676f| ucvtf v12.2d, v15.2d, #25
-d7d8217e| ucvtf s23, s6
-cdd9212e| ucvtf v13.2s, v14.2s
-5788031e| ucvtf s23, w2, #30
-c7ac431e| ucvtf d7, w6, #21
-0777039e| ucvtf s7, x24, #35
-e4f4439e| ucvtf d4, x7, #3
-9100231e| ucvtf s17, w4
-e202631e| ucvtf d2, w23
-3903239e| ucvtf s25, x25
-2001639e| ucvtf d0, x9
-2a07b76e| uhadd v10.4s, v25.4s, v23.4s
-dc25372e| uhsub v28.8b, v14.8b, v23.8b
-de646f2e| umax v30.4h, v6.4h, v15.4h
-4ba6766e| umaxp v11.8h, v18.8h, v22.8h
-e26db42e| umin v2.2s, v15.2s, v20.2s
-a7ae712e| uminp v7.4h, v21.4h, v17.4h
-afaa716e| uminv h15, v21.8h
-42298c2f| umlal v2.2d, v10.2s, v12.s[2]
-0a826e2e| umlal v10.4s, v16.4h, v14.4h
-2681a06e| umlal2 v6.2d, v9.4s, v0.4s
-2860bd6f| umlsl2 v8.2d, v1.4s, v29.s[1]
-19a26b6e| umlsl2 v25.4s, v16.8h, v11.8h
-8a3d140e| mov w10, v12.s[2]
-22a1ba6f| umull2 v2.2d, v9.4s, v26.s[1]
-15c0712e| umull v21.4s, v0.4h, v17.4h
-2ec0296e| umull2 v14.8h, v1.16b, v9.16b
-6e0fba7e| uqadd s14, s27, s26
-db0fe06e| uqadd v27.2d, v30.2d, v0.2d
-535e6c7e| uqrshl h19, h18, h12
-7c5cfe6e| uqrshl v28.2d, v3.2d, v30.2d
-9a9e327f| uqrshrn s26, d20, #14
-339f0b2f| uqrshrn v19.8b, v25.8h, #5
-7e77337f| uqshl s30, s27, #19
-8b4d657e| uqshl h11, h12, h5
-414c622e| uqshl v1.4h, v2.4h, v2.4h
-95942b2f| uqshrn v21.2s, v4.2d, #21
-d396246f| uqshrn2 v19.4s, v22.2d, #28
-b22ff27e| uqsub d18, d29, d18
-b32e756e| uqsub v19.8h, v21.8h, v21.8h
-0e4b616e| uqxtn2 v14.8h, v24.4s
-ca16236e| urhadd v10.16b, v22.16b, v3.16b
-1f57a26e| urshl v31.4s, v24.4s, v2.4s
-8324777f| urshr d3, d4, #9
-37caa16e| ursqrte v23.4s, v17.4s
-b735517f| ursra d23, d13, #47
-0a47f67e| ushl d10, d24, d22
-e7a71c2f| ushll v7.4s, v31.4h, #12
-9c38607e| usqadd h28, h4
-dc39206e| usqadd v28.16b, v14.16b
-dc145d7f| usra d28, d6, #35
-d720752e| usubl v23.4s, v6.4h, v21.4h
-2c236f6e| usubl2 v12.4s, v25.8h, v15.8h
-ed32222e| usubw v13.8h, v23.8h, v2.8b
-72332d6e| usubw2 v18.8h, v27.8h, v13.16b
-655a1c4e| uzp2 v5.16b, v19.16b, v28.16b
-972a210e| xtn v23.8b, v20.8h
-5f2aa14e| xtn2 v31.4s, v18.2d
-9a38910e| zip1 v26.2s, v4.2s, v17.2s
-d979990e| zip2 v25.2s, v14.2s, v25.2s
-41e5a454| b.ne .+0xfffffffffff49ca8
-ea1b543a| ccmn wzr, #0x14, #0xa, ne
-681946ba| ccmn x11, #0x6, #0x8, ne
-2410463a| ccmn w1, w6, #0x4, ne
-6e134cba| ccmn x27, x12, #0xe, ne
-ad194f7a| ccmp w13, #0xf, #0xd, ne
-471b53fa| ccmp x26, #0x13, #0x7, ne
-a210467a| ccmp w5, w6, #0x2, ne
-ee1246fa| ccmp x23, x6, #0xe, ne
-be149b1a| csinc w30, w5, w27, ne
-c415819a| csinc x4, x14, x1, ne
-0510955a| csinv w5, w0, w21, ne
-c51093da| csinv x5, x6, x19, ne
-12158e5a| csneg w18, w8, w14, ne
-5c159cda| csneg x28, x10, x28, ne
-c810941a| csel w8, w6, w20, ne
-80128c9a| csel x0, x20, x12, ne
-f6179f1a| cset w22, eq
-f5179f9a| cset x21, eq
-ec139f5a| csetm w12, eq
-ee139fda| csetm x14, eq
-4b17981a| csinc w11, w26, w24, ne
-b515909a| csinc x21, x13, x16, ne
-b613955a| csinv w22, w29, w21, ne
-f8108bda| csinv x24, x7, x11, ne
-a0149d5a| csneg w0, w5, w29, ne
-6a1492da| csneg x10, x3, x18, ne
-8f143c1e| fccmp s4, s28, #0xf, ne
-0f167f1e| fccmp d16, d31, #0xf, ne
-5214291e| fccmpe s2, s9, #0x2, ne
-1516631e| fccmpe d16, d3, #0x5, ne
-2b1d271e| fcsel s11, s9, s7, ne
-731e611e| fcsel d19, d19, d1, ne
-c2560e54| b.cs .+0x1cad8
-2d2b563a| ccmn w25, #0x16, #0xd, cs
-6c2b55ba| ccmn x27, #0x15, #0xc, cs
-2521493a| ccmn w9, w9, #0x5, cs
-032040ba| ccmn x0, x0, #0x3, cs
-ea2a5c7a| ccmp w23, #0x1c, #0xa, cs
-8e2842fa| ccmp x4, #0x2, #0xe, cs
-8e22427a| ccmp w20, w2, #0xe, cs
-cd204dfa| ccmp x6, x13, #0xd, cs
-2824931a| csinc w8, w1, w19, cs
-a3279a9a| csinc x3, x29, x26, cs
-5921945a| csinv w25, w10, w20, cs
-bd2386da| csinv x29, x29, x6, cs
-a124915a| csneg w1, w5, w17, cs
-5b2787da| csneg x27, x26, x7, cs
-91209f1a| csel w17, w4, wzr, cs
-f921979a| csel x25, x15, x23, cs
-e4279f1a| cset w4, cc
-ea279f9a| cset x10, cc
-fe239f5a| csetm w30, cc
-ec239fda| csetm x12, cc
-ee25971a| csinc w14, w15, w23, cs
-b726859a| csinc x23, x21, x5, cs
-4b22845a| csinv w11, w18, w4, cs
-2b209eda| csinv x11, x1, x30, cs
-6b269b5a| csneg w11, w19, w27, cs
-192691da| csneg x25, x16, x17, cs
-0226391e| fccmp s16, s25, #0x2, cs
-07246d1e| fccmp d0, d13, #0x7, cs
-9626241e| fccmpe s20, s4, #0x6, cs
-de27601e| fccmpe d30, d0, #0xe, cs
-7d2d271e| fcsel s29, s11, s7, cs
-3e2e7a1e| fcsel d30, d17, d26, cs
-43a4df54| b.cc .+0xfffffffffffbf488
-0739533a| ccmn w8, #0x13, #0x7, cc
-673b4fba| ccmn x27, #0xf, #0x7, cc
-e333583a| ccmn wzr, w24, #0x3, cc
-83325aba| ccmn x20, x26, #0x3, cc
-eb38517a| ccmp w7, #0x11, #0xb, cc
-2c3955fa| ccmp x9, #0x15, #0xc, cc
-6f324b7a| ccmp w19, w11, #0xf, cc
-09314ffa| ccmp x8, x15, #0x9, cc
-60349c1a| csinc w0, w3, w28, cc
-8835949a| csinc x8, x12, x20, cc
-bb31935a| csinv w27, w13, w19, cc
-9f319dda| csinv xzr, x12, x29, cc
-8837855a| csneg w8, w28, w5, cc
-cd3490da| csneg x13, x6, x16, cc
-b033901a| csel w16, w29, w16, cc
-5e31969a| csel x30, x10, x22, cc
-ec379f1a| cset w12, cs
-ea379f9a| cset x10, cs
-eb339f5a| csetm w11, cs
-fd339fda| csetm x29, cs
-9934941a| csinc w25, w4, w20, cc
-fa36829a| csinc x26, x23, x2, cc
-2730895a| csinv w7, w1, w9, cc
-703094da| csinv x16, x3, x20, cc
-f636935a| csneg w22, w23, w19, cc
-ba3484da| csneg x26, x5, x4, cc
-e3343e1e| fccmp s7, s30, #0x3, cc
-ce366a1e| fccmp d22, d10, #0xe, cc
-de37271e| fccmpe s30, s7, #0xe, cc
-1935751e| fccmpe d8, d21, #0x9, cc
-603f241e| fcsel s0, s27, s4, cc
-653f761e| fcsel d5, d27, d22, cc
-a4fa5354| b.mi .+0xa7f54
-a248483a| ccmn w5, #0x8, #0x2, mi
-e2484eba| ccmn x7, #0xe, #0x2, mi
-2841553a| ccmn w9, w21, #0x8, mi
-6e4259ba| ccmn x19, x25, #0xe, mi
-2048567a| ccmp w1, #0x16, #0x0, mi
-454a5afa| ccmp x18, #0x1a, #0x5, mi
-0343487a| ccmp w24, w8, #0x3, mi
-49434bfa| ccmp x26, x11, #0x9, mi
-d747991a| csinc w23, w30, w25, mi
-9544919a| csinc x21, x4, x17, mi
-76428c5a| csinv w22, w19, w12, mi
-06418eda| csinv x6, x8, x14, mi
-4d46975a| csneg w13, w18, w23, mi
-d74491da| csneg x23, x6, x17, mi
-0941941a| csel w9, w8, w20, mi
-2d41839a| csel x13, x9, x3, mi
-ef479f1a| cset w15, pl
-e5479f9a| cset x5, pl
-f0439f5a| csetm w16, pl
-e2439fda| csetm x2, pl
-2a46841a| csinc w10, w17, w4, mi
-f1468b9a| csinc x17, x23, x11, mi
-3441835a| csinv w20, w9, w3, mi
-b5438cda| csinv x21, x29, x12, mi
-ad45945a| csneg w13, w13, w20, mi
-f54793da| csneg x21, xzr, x19, mi
-c5473f1e| fccmp s30, s31, #0x5, mi
-8947601e| fccmp d28, d0, #0x9, mi
-5247331e| fccmpe s26, s19, #0x2, mi
-b045761e| fccmpe d13, d22, #0x0, mi
-b34d331e| fcsel s19, s13, s19, mi
-3a4d6d1e| fcsel d26, d9, d13, mi
-a5497054| b.pl .+0xe0934
-eb5a493a| ccmn w23, #0x9, #0xb, pl
-0a5941ba| ccmn x8, #0x1, #0xa, pl
-0452523a| ccmn w16, w18, #0x4, pl
-e55053ba| ccmn x7, x19, #0x5, pl
-a45b407a| ccmp w29, #0x0, #0x4, pl
-ca5b4efa| ccmp x30, #0xe, #0xa, pl
-ab514e7a| ccmp w13, w14, #0xb, pl
-ce5349fa| ccmp x30, x9, #0xe, pl
-8555971a| csinc w5, w12, w23, pl
-4b569e9a| csinc x11, x18, x30, pl
-90538f5a| csinv w16, w28, w15, pl
-c3508bda| csinv x3, x6, x11, pl
-1f55955a| csneg wzr, w8, w21, pl
-52568eda| csneg x18, x18, x14, pl
-a750851a| csel w7, w5, w5, pl
-b252899a| csel x18, x21, x9, pl
-eb579f1a| cset w11, mi
-e6579f9a| cset x6, mi
-fd539f5a| csetm w29, mi
-e1539fda| csetm x1, mi
-33579e1a| csinc w19, w25, w30, pl
-b5558c9a| csinc x21, x13, x12, pl
-ec53885a| csinv w12, wzr, w8, pl
-ec5196da| csinv x12, x15, x22, pl
-ae57945a| csneg w14, w29, w20, pl
-64578bda| csneg x4, x27, x11, pl
-2657241e| fccmp s25, s4, #0x6, pl
-2357761e| fccmp d25, d22, #0x3, pl
-f255361e| fccmpe s15, s22, #0x2, pl
-3756781e| fccmpe d17, d24, #0x7, pl
-985c3f1e| fcsel s24, s4, s31, pl
-5b5d621e| fcsel d27, d10, d2, pl
-c6d26454| b.vs .+0xc9a58
-6c6a4f3a| ccmn w19, #0xf, #0xc, vs
-2f694cba| ccmn x9, #0xc, #0xf, vs
-e962583a| ccmn w23, w24, #0x9, vs
-80615fba| ccmn x12, xzr, #0x0, vs
-4b6b497a| ccmp w26, #0x9, #0xb, vs
-cc6a48fa| ccmp x22, #0x8, #0xc, vs
-4e61567a| ccmp w10, w22, #0xe, vs
-476054fa| ccmp x2, x20, #0x7, vs
-c965911a| csinc w9, w14, w17, vs
-41668f9a| csinc x1, x18, x15, vs
-db608f5a| csinv w27, w6, w15, vs
-896097da| csinv x9, x4, x23, vs
-1867915a| csneg w24, w24, w17, vs
-49678eda| csneg x9, x26, x14, vs
-3162881a| csel w17, w17, w8, vs
-db608f9a| csel x27, x6, x15, vs
-f9679f1a| cset w25, vc
-f9679f9a| cset x25, vc
-f7639f5a| csetm w23, vc
-e1639fda| csetm x1, vc
-f4678a1a| csinc w20, wzr, w10, vs
-3e65879a| csinc x30, x9, x7, vs
-6c63975a| csinv w12, w27, w23, vs
-806191da| csinv x0, x12, x17, vs
-7f679f5a| csneg wzr, w27, wzr, vs
-3b6488da| csneg x27, x1, x8, vs
-0565301e| fccmp s8, s16, #0x5, vs
-e266621e| fccmp d23, d2, #0x2, vs
-b7653a1e| fccmpe s13, s26, #0x7, vs
-d866791e| fccmpe d22, d25, #0x8, vs
-326d3d1e| fcsel s18, s9, s29, vs
-f66e7b1e| fcsel d22, d23, d27, vs
-e774fd54| b.vc .+0xffffffffffffae9c
-0479483a| ccmn w8, #0x8, #0x4, vc
-897b56ba| ccmn x28, #0x16, #0x9, vc
-8b70513a| ccmn w4, w17, #0xb, vc
-ca7150ba| ccmn x14, x16, #0xa, vc
-46794f7a| ccmp w10, #0xf, #0x6, vc
-057948fa| ccmp x8, #0x8, #0x5, vc
-0373417a| ccmp w24, w1, #0x3, vc
-ca705ffa| ccmp x6, xzr, #0xa, vc
-d3769f1a| csinc w19, w22, wzr, vc
-1076899a| csinc x16, x16, x9, vc
-c8718e5a| cinv w8, w14, vs
-06729eda| csinv x6, x16, x30, vc
-6076895a| csneg w0, w19, w9, vc
-b87589da| csneg x24, x13, x9, vc
-3b72891a| csel w27, w17, w9, vc
-fd70899a| csel x29, x7, x9, vc
-e3779f1a| cset w3, vs
-f4779f9a| cset x20, vs
-fc739f5a| csetm w28, vs
-ea739fda| csetm x10, vs
-ab75891a| csinc w11, w13, w9, vc
-6177859a| csinc x1, x27, x5, vc
-3272945a| csinv w18, w17, w20, vc
-7a729dda| csinv x26, x19, x29, vc
-b5779e5a| csneg w21, w29, w30, vc
-fe748eda| csneg x30, x7, x14, vc
-ed76231e| fccmp s23, s3, #0xd, vc
-cf74791e| fccmp d6, d25, #0xf, vc
-b4763e1e| fccmpe s21, s30, #0x4, vc
-59766e1e| fccmpe d18, d14, #0x9, vc
-ce7c271e| fcsel s14, s6, s7, vc
-be7c651e| fcsel d30, d5, d5, vc
-88f29d54| b.hi .+0xfffffffffff3be50
-8f8b513a| ccmn w28, #0x11, #0xf, hi
-6f8b5cba| ccmn x27, #0x1c, #0xf, hi
-8780463a| ccmn w4, w6, #0x7, hi
-4f8348ba| ccmn x26, x8, #0xf, hi
-48884d7a| ccmp w2, #0xd, #0x8, hi
-088957fa| ccmp x8, #0x17, #0x8, hi
-0180517a| ccmp w0, w17, #0x1, hi
-ce805efa| ccmp x6, x30, #0xe, hi
-1d868e1a| csinc w29, w16, w14, hi
-0785889a| cinc x7, x8, ls
-4782935a| csinv w7, w18, w19, hi
-118197da| csinv x17, x8, x23, hi
-00868a5a| csneg w0, w16, w10, hi
-128585da| csneg x18, x8, x5, hi
-4c808f1a| csel w12, w2, w15, hi
-7783909a| csel x23, x27, x16, hi
-e5879f1a| cset w5, ls
-f3879f9a| cset x19, ls
-f9839f5a| csetm w25, ls
-eb839fda| csetm x11, ls
-b3869e1a| csinc w19, w21, w30, hi
-f086909a| csinc x16, x23, x16, hi
-34839c5a| csinv w20, w25, w28, hi
-ea8294da| csinv x10, x23, x20, hi
-8e84895a| csneg w14, w4, w9, hi
-c48695da| csneg x4, x22, x21, hi
-cc84361e| fccmp s6, s22, #0xc, hi
-8086781e| fccmp d20, d24, #0x0, hi
-7187341e| fccmpe s27, s20, #0x1, hi
-30867e1e| fccmpe d17, d30, #0x0, hi
-b98e361e| fcsel s25, s21, s22, hi
-2c8c651e| fcsel d12, d1, d5, hi
-69888c54| b.ls .+0xfffffffffff1910c
-0e9b523a| ccmn w24, #0x12, #0xe, ls
-679854ba| ccmn x3, #0x14, #0x7, ls
-0492563a| ccmn w16, w22, #0x4, ls
-42924dba| ccmn x18, x13, #0x2, ls
-2198417a| ccmp w1, #0x1, #0x1, ls
-c89a54fa| ccmp x22, #0x14, #0x8, ls
-0f905e7a| ccmp w0, w30, #0xf, ls
-c59342fa| ccmp x30, x2, #0x5, ls
-0d958c1a| csinc w13, w8, w12, ls
-7596879a| csinc x21, x19, x7, ls
-1791905a| csinv w23, w8, w16, ls
-5e9186da| csinv x30, x10, x6, ls
-23969e5a| csneg w3, w17, w30, ls
-619493da| csneg x1, x3, x19, ls
-b5918e1a| csel w21, w13, w14, ls
-b393819a| csel x19, x29, x1, ls
-f9979f1a| cset w25, hi
-ee979f9a| cset x14, hi
-eb939f5a| csetm w11, hi
-ea939fda| csetm x10, hi
-f497871a| csinc w20, wzr, w7, ls
-c4949d9a| csinc x4, x6, x29, ls
-e892895a| csinv w8, w23, w9, ls
-6c908eda| csinv x12, x3, x14, ls
-26949f5a| csneg w6, w1, wzr, ls
-329498da| csneg x18, x1, x24, ls
-81952d1e| fccmp s12, s13, #0x1, ls
-60967f1e| fccmp d19, d31, #0x0, ls
-1794321e| fccmpe s0, s18, #0x7, ls
-3f97641e| fccmpe d25, d4, #0xf, ls
-089c2d1e| fcsel s8, s0, s13, ls
-699f631e| fcsel d9, d27, d3, ls
-8afbfe54| b.ge .+0xffffffffffffdf70
-44aa573a| ccmn w18, #0x17, #0x4, ge
-00a84fba| ccmn x0, #0xf, #0x0, ge
-c9a04d3a| ccmn w6, w13, #0x9, ge
-88a041ba| ccmn x4, x1, #0x8, ge
-caaa467a| ccmp w22, #0x6, #0xa, ge
-85a85cfa| ccmp x4, #0x1c, #0x5, ge
-47a35f7a| ccmp w26, wzr, #0x7, ge
-0aa34dfa| ccmp x24, x13, #0xa, ge
-dea7981a| csinc w30, w30, w24, ge
-c6a5909a| csinc x6, x14, x16, ge
-8aa1965a| csinv w10, w12, w22, ge
-e3a392da| csinv x3, xzr, x18, ge
-20a5845a| csneg w0, w9, w4, ge
-fba694da| csneg x27, x23, x20, ge
-faa1851a| csel w26, w15, w5, ge
-25a3959a| csel x5, x25, x21, ge
-e2a79f1a| cset w2, lt
-fda79f9a| cset x29, lt
-eea39f5a| csetm w14, lt
-e2a39fda| csetm x2, lt
-efa6951a| csinc w15, w23, w21, ge
-4ca69e9a| csinc x12, x18, x30, ge
-22a2885a| csinv w2, w17, w8, ge
-53a089da| csinv x19, x2, x9, ge
-f9a6875a| csneg w25, w23, w7, ge
-c9a795da| csneg x9, x30, x21, ge
-24a73e1e| fccmp s25, s30, #0x4, ge
-6da5651e| fccmp d11, d5, #0xd, ge
-bda52e1e| fccmpe s13, s14, #0xd, ge
-f6a7651e| fccmpe d31, d5, #0x6, ge
-e3ac251e| fcsel s3, s7, s5, ge
-b3ae781e| fcsel d19, d21, d24, ge
-ab621754| b.lt .+0x2ec54
-e1b84c3a| ccmn w7, #0xc, #0x1, lt
-89ba4eba| ccmn x20, #0xe, #0x9, lt
-88b14a3a| ccmn w12, w10, #0x8, lt
-89b145ba| ccmn x12, x5, #0x9, lt
-47b9547a| ccmp w10, #0x14, #0x7, lt
-07b95bfa| ccmp x8, #0x1b, #0x7, lt
-4ab2407a| ccmp w18, w0, #0xa, lt
-8ab144fa| ccmp x12, x4, #0xa, lt
-79b5821a| csinc w25, w11, w2, lt
-8bb4919a| csinc x11, x4, x17, lt
-c9b19f5a| csinv w9, w14, wzr, lt
-10b28bda| csinv x16, x16, x11, lt
-d8b4925a| csneg w24, w6, w18, lt
-3ab69fda| csneg x26, x17, xzr, lt
-2cb3841a| csel w12, w25, w4, lt
-77b0969a| csel x23, x3, x22, lt
-e2b79f1a| cset w2, ge
-e9b79f9a| cset x9, ge
-f4b39f5a| csetm w20, ge
-f2b39fda| csetm x18, ge
-87b59a1a| csinc w7, w12, w26, lt
-70b69c9a| csinc x16, x19, x28, lt
-17b08f5a| csinv w23, w0, w15, lt
-cab288da| csinv x10, x22, x8, lt
-bab7905a| csneg w26, w29, w16, lt
-08b796da| csneg x8, x24, x22, lt
-2eb73e1e| fccmp s25, s30, #0xe, lt
-86b7671e| fccmp d28, d7, #0x6, lt
-f0b6211e| fccmpe s23, s1, #0x0, lt
-b2b76b1e| fccmpe d29, d11, #0x2, lt
-e8bf241e| fcsel s8, s31, s4, lt
-9ebd7d1e| fcsel d30, d12, d29, lt
-cc87d354| b.gt .+0xfffffffffffa70f8
-43c8563a| ccmn w2, #0x16, #0x3, gt
-c5c94dba| ccmn x14, #0xd, #0x5, gt
-6fc0533a| ccmn w3, w19, #0xf, gt
-06c351ba| ccmn x24, x17, #0x6, gt
-c3c95c7a| ccmp w14, #0x1c, #0x3, gt
-29cb52fa| ccmp x25, #0x12, #0x9, gt
-8bc25a7a| ccmp w20, w26, #0xb, gt
-45c14dfa| ccmp x10, x13, #0x5, gt
-80c7841a| csinc w0, w28, w4, gt
-40c4919a| csinc x0, x2, x17, gt
-04c2805a| csinv w4, w16, w0, gt
-55c086da| csinv x21, x2, x6, gt
-32c7935a| csneg w18, w25, w19, gt
-31c59fda| csneg x17, x9, xzr, gt
-6cc2921a| csel w12, w19, w18, gt
-37c08d9a| csel x23, x1, x13, gt
-eec79f1a| cset w14, le
-eec79f9a| cset x14, le
-f4c39f5a| csetm w20, le
-f6c39fda| csetm x22, le
-31c5971a| csinc w17, w9, w23, gt
-76c7899a| csinc x22, x27, x9, gt
-bbc1805a| csinv w27, w13, w0, gt
-e8c384da| csinv x8, xzr, x4, gt
-83c5955a| csneg w3, w12, w21, gt
-77c790da| csneg x23, x27, x16, gt
-e9c5251e| fccmp s15, s5, #0x9, gt
-a3c4671e| fccmp d5, d7, #0x3, gt
-71c72e1e| fccmpe s27, s14, #0x1, gt
-3dc4781e| fccmpe d1, d24, #0xd, gt
-57cf3d1e| fcsel s23, s26, s29, gt
-8fcc7e1e| fcsel d15, d4, d30, gt
-8d1ec054| b.le .+0xfffffffffff803d0
-4bdb5b3a| ccmn w26, #0x1b, #0xb, le
-47d94fba| ccmn x10, #0xf, #0x7, le
-4dd1443a| ccmn w10, w4, #0xd, le
-82d353ba| ccmn x28, x19, #0x2, le
-e8d9527a| ccmp w15, #0x12, #0x8, le
-00db45fa| ccmp x24, #0x5, #0x0, le
-c5d1437a| ccmp w14, w3, #0x5, le
-e4d041fa| ccmp x7, x1, #0x4, le
-0bd6941a| csinc w11, w16, w20, le
-57d6929a| cinc x23, x18, gt
-3dd29a5a| csinv w29, w17, w26, le
-ded085da| csinv x30, x6, x5, le
-27d5985a| csneg w7, w9, w24, le
-7fd59ada| csneg xzr, x11, x26, le
-b7d0911a| csel w23, w5, w17, le
-a4d3879a| csel x4, x29, x7, le
-e6d79f1a| cset w6, gt
-f1d79f9a| cset x17, gt
-f3d39f5a| csetm w19, gt
-f9d39fda| csetm x25, gt
-42d78d1a| csinc w2, w26, w13, le
-88d58a9a| csinc x8, x12, x10, le
-ccd3805a| csinv w12, w30, w0, le
-0fd085da| csinv x15, x0, x5, le
-55d5975a| csneg w21, w10, w23, le
-3fd699da| csneg xzr, x17, x25, le
-60d4251e| fccmp s3, s5, #0x0, le
-6dd6601e| fccmp d19, d0, #0xd, le
-bdd5221e| fccmpe s13, s2, #0xd, le
-f4d67d1e| fccmpe d23, d29, #0x4, le
-0cdd381e| fcsel s12, s8, s24, le
-70de7e1e| fcsel d16, d19, d30, le
-8e585454| b.al .+0xa8b10
-41eb483a| ccmn w26, #0x8, #0x1, al
-8aeb42ba| ccmn x28, #0x2, #0xa, al
-c8e3473a| ccmn w30, w7, #0x8, al
-ade059ba| ccmn x5, x25, #0xd, al
-67eb5b7a| ccmp w27, #0x1b, #0x7, al
-05e849fa| ccmp x0, #0x9, #0x5, al
-42e3407a| ccmp w26, w0, #0x2, al
-03e053fa| ccmp x0, x19, #0x3, al
-9ce4931a| csinc w28, w4, w19, al
-8ee69d9a| csinc x14, x20, x29, al
-68e0835a| csinv w8, w3, w3, al
-20e381da| csinv x0, x25, x1, al
-e0e58d5a| csneg w0, w15, w13, al
-9ae589da| csneg x26, x12, x9, al
-6ee0941a| csel w14, w3, w20, al
-77e38a9a| csel x23, x27, x10, al
-efe79f1a| csinc w15, wzr, wzr, al
-e5e79f9a| csinc x5, xzr, xzr, al
-f2e39f5a| csinv w18, wzr, wzr, al
-fae39fda| csinv x26, xzr, xzr, al
-ede7861a| csinc w13, wzr, w6, al
-0ce58a9a| csinc x12, x8, x10, al
-75e2835a| csinv w21, w19, w3, al
-38e391da| csinv x24, x25, x17, al
-fee4845a| csneg w30, w7, w4, al
-09e49bda| csneg x9, x0, x27, al
-a8e6271e| fccmp s21, s7, #0x8, al
-ede67d1e| fccmp d23, d29, #0xd, al
-bbe53b1e| fccmpe s13, s27, #0xb, al
-70e6661e| fccmpe d19, d6, #0x0, al
-01ee3b1e| fcsel s1, s16, s27, al
-15ec651e| fcsel d21, d0, d5, al
-4f462554| b.al .+0x4a8c8
-eef9493a| ccmn w15, #0x9, #0xe, al
-88fa53ba| ccmn x20, #0x13, #0x8, al
-c0f25f3a| ccmn w22, wzr, #0x0, al
-c6f05cba| ccmn x6, x28, #0x6, al
-45f84c7a| ccmp w2, #0xc, #0x5, al
-a3fa4afa| ccmp x21, #0xa, #0x3, al
-caf3517a| ccmp w30, w17, #0xa, al
-81f055fa| ccmp x4, x21, #0x1, al
-cbf69e1a| csinc w11, w22, w30, al
-01f48e9a| csinc x1, x0, x14, al
-61f1845a| csinv w1, w11, w4, al
-11f397da| csinv x17, x24, x23, al
-7bf69f5a| csneg w27, w19, wzr, al
-b1f686da| csneg x17, x21, x6, al
-69f39e1a| csel w9, w27, w30, al
-79f2859a| csel x25, x19, x5, al
-e1f79f1a| csinc w1, wzr, wzr, al
-e6f79f9a| csinc x6, xzr, xzr, al
-fcf39f5a| csinv w28, wzr, wzr, al
-fbf39fda| csinv x27, xzr, xzr, al
-2ef4831a| csinc w14, w1, w3, al
-55f6859a| csinc x21, x18, x5, al
-4ff0905a| csinv w15, w2, w16, al
-81f393da| csinv x1, x28, x19, al
-8bf68d5a| csneg w11, w20, w13, al
-c2f48fda| csneg x2, x6, x15, al
-e9f6391e| fccmp s23, s25, #0x9, al
-27f46f1e| fccmp d1, d15, #0x7, al
-72f6301e| fccmpe s19, s16, #0x2, al
-37f57a1e| fccmpe d9, d26, #0x7, al
-fcfe3a1e| fcsel s28, s23, s26, al
-80fd701e| fcsel d0, d12, d16, al
-40946454| b.eq .+0xc9288
-8b09473a| ccmn w12, #0x7, #0xb, eq
-c50a5eba| ccmn x22, #0x1e, #0x5, eq
-05005a3a| ccmn w0, w26, #0x5, eq
-cf024bba| ccmn x22, x11, #0xf, eq
-8a084f7a| ccmp w4, #0xf, #0xa, eq
-e20a41fa| ccmp x23, #0x1, #0x2, eq
-8c015f7a| ccmp w12, wzr, #0xc, eq
-e4015cfa| ccmp x15, x28, #0x4, eq
-42078e1a| csinc w2, w26, w14, eq
-2005879a| csinc x0, x9, x7, eq
-f003955a| csinv w16, wzr, w21, eq
-dc019dda| csinv x28, x14, x29, eq
-4607885a| csneg w6, w26, w8, eq
-26069eda| csneg x6, x17, x30, eq
-72018a1a| csel w18, w11, w10, eq
-8003849a| csel x0, x28, x4, eq
-f1079f1a| cset w17, ne
-fb079f9a| cset x27, ne
-ef039f5a| csetm w15, ne
-e1039fda| csetm x1, ne
-5307881a| csinc w19, w26, w8, eq
-8a06969a| csinc x10, x20, x22, eq
-ab00955a| csinv w11, w5, w21, eq
-c3039bda| csinv x3, x30, x27, eq
-8005875a| csneg w0, w12, w7, eq
-740694da| csneg x20, x19, x20, eq
-e207281e| fccmp s31, s8, #0x2, eq
-2b056a1e| fccmp d9, d10, #0xb, eq
-7e063f1e| fccmpe s19, s31, #0xe, eq
-3c05671e| fccmpe d9, d7, #0xc, eq
-830f271e| fcsel s3, s28, s7, eq
-4d0d621e| fcsel d13, d10, d2, eq
-bf2003d5| sevl
-9f2003d5| sev
-7f2003d5| wfi
-5f2003d5| wfe
-3f2003d5| yield
-1f2003d5| nop
-df4d03d5| msr daifset, #0xd
-ff4d03d5| msr daifclr, #0xd
-28d91b14| b .+0x6f64a0
-da6cb530| adr x26, .+0xfffffffffff6ad99
-15e5e514| b .+0x3979454
-ff4603d5| msr daifclr, #0x6
-df4803d5| msr daifset, #0x8
-bf4100d5| msr spsel, #0x1
-9f3f03d5| dsb sy
-9f3e03d5| dsb st
-9f3d03d5| dsb ld
-9f3b03d5| dsb ish
-9f3a03d5| dsb ishst
-9f3903d5| dsb ishld
-9f3703d5| dsb nsh
-9f3603d5| dsb nshst
-9f3503d5| dsb nshld
-9f3303d5| dsb osh
-9f3203d5| dsb oshst
-9f3103d5| dsb oshld
-ff4603d5| msr daifclr, #0x6
-df4803d5| msr daifset, #0x8
-bf4100d5| msr spsel, #0x1
-a3681b53| lsl w3, w5, #5
-47dc78d3| lsl x7, x2, #8
-0500a012| movn w5, #0x0, lsl #16
-0500e092| movn x5, #0x0, lsl #48
-0500a052| movz w5, #0x0, lsl #16
-0500a0d2| movz x5, #0x0, lsl #16
-cd5a206e| mvn v13.16b, v22.16b
-cd5a202e| mvn v13.8b, v22.8b
-743d050e| umov w20, v11.b[2]
-743d0a0e| umov w20, v11.h[2]
-743d0c0e| mov w20, v11.s[1]
-743d084e| mov x20, v11.d[0]
diff --git a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/plan9cases.txt b/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/plan9cases.txt
deleted file mode 100644
index 873de3db44..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/arm64/arm64asm/testdata/plan9cases.txt
+++ /dev/null
@@ -1,4564 +0,0 @@
-0a011f1a| ADCW ZR, R8, R10
-4c00009a| ADC R0, R2, R12
-a602093a| ADCSW R9, R21, R6
-d60217ba| ADCS R23, R22, R22
-0921250b| ADDW R5.UXTH, R8, R9
-ee9e288b| ADD R8.SXTB<<7, R23, R14
-23123011| ADDW $3076, R17, R3
-2ba32391| ADD $2280, R25, R11
-67158d0b| ADDW R13->5, R11, R7
-30da198b| ADD R25<<54, R17, R16
-a7e72c2b| ADDSW R12.SXTX<<1, R29, R7
-357338ab| ADDS R24.UXTX<<4, R25, R21
-6b147731| ADDSW $(3525<<12), R3, R11
-cd59872b| ADDSW R7->22, R14, R13
-e41f4eab| ADDS R14>>7, ZR, R4
-a2432412| ANDW $4026540031, R29, R2
-93910e92| AND $34903429696192636, R12, R19
-7a1ec98a| AND R9@>7, R19, R26
-1ff32972| TSTW $2863311530, R24
-458051f2| ANDS $-140737488289793, R2, R5
-af629a6a| ANDSW R26->24, R21, R15
-7ab0dfea| ANDS ZR@>44, R3, R26
-792bcc1a| ASRW R12, R27, R25
-872bce9a| ASR R14, R28, R7
-99ff4b93| ASR $11, R28, R25
-1628c91a| ASRW R9, R0, R22
-4e2acf9a| ASR R15, R18, R14
-4be5a454| BLT -186582(PC)
-53257114| JMP 7415123(PC)
-dbb557b3| BFXIL $23, R14, $23, R27
-70e861b3| BFXIL $33, R3, $26, R16
-88a75ab3| BFXIL $26, R28, $16, R8
-b03ce70a| BICW R7@>15, R5, R16
-9235ec8a| BIC R12@>13, R12, R18
-7450b96a| BICSW R25->20, R3, R20
-3730b3ea| BICS R19->12, R1, R23
-9b897797| CALL -8943205(PC)
-e0013fd6| CALL (R15)
-a0031fd6| JMP (R29)
-e08c31d4| BRK $35943
-027eb435| CBNZW R2, -154640(PC)
-c7eb42b5| CBNZ R7, 137054(PC)
-8f1d4c34| CBZW R15, 155884(PC)
-e1c5abb4| CBZ R1, -172497(PC)
-4bfb543a| CCMNW AL, R26, $20, $11
-015b46ba| CCMN PL, R24, $6, $1
-8602463a| CCMNW EQ, R20, R6, $6
-c6d34cba| CCMN LE, R30, R12, $6
-a76b4f7a| CCMPW VS, R29, $15, $7
-e3d853fa| CCMP LE, R7, $19, $3
-4022467a| CCMPW HS, R18, R6, $0
-c7b346fa| CCMP LT, R30, R6, $7
-ee279b1a| CSINCW HS, ZR, R27, R14
-4174819a| CSINC VC, R2, R1, R1
-5100955a| CSINVW EQ, R2, R21, R17
-573093da| CSINV LO, R2, R19, R23
-5f3403d5| CLREX $4
-e615c05a| CLSW R15, R6
-ff15c0da| CLS R15, ZR
-2e10c05a| CLZW R1, R14
-a912c0da| CLZ R21, R9
-ff11352b| CMNW R21.UXTB<<4, R15
-1f5220ab| CMN R0.UXTW<<4, R16
-ff02266b| CMPW R6.UXTB, R23
-5fb739eb| CMP R25.SXTH<<5, R26
-bfa73bf1| CMP $3817, R29
-7f5c47eb| CMP R7>>23, R3
-2e458e5a| CSNEGW MI, R9, R14, R14
-c3559cda| CSNEG PL, R14, R28, R3
-1041d11a| CRC32B R17, R8, R16
-bb46c31a| CRC32H R3, R21, R27
-c94bd61a| CRC32W R22, R30, R9
-8f4cd49a| CRC32X R20, R4, R15
-7653d21a| CRC32CB R18, R27, R22
-1454d51a| CRC32CH R21, R0, R20
-7c58c91a| CRC32CW R9, R3, R28
-185ccb9a| CRC32CX R11, R0, R24
-8c30941a| CSELW LO, R4, R20, R12
-0ea08c9a| CSEL GE, R0, R12, R14
-e3b79f1a| CSETW GE, R3
-fea79f9a| CSET LT, R30
-e5639f5a| CSETMW VC, R5
-e4739fda| CSETM VS, R4
-bad4981a| CSINCW LE, R5, R24, R26
-5167909a| CSINC VS, R26, R16, R17
-65e3955a| CSINVW AL, R27, R21, R5
-8e338bda| CSINV LO, R28, R11, R14
-0a269d5a| CSNEGW HS, R16, R29, R10
-ab1692da| CSNEG NE, R21, R18, R11
-418ea5d4| DCPS1 $11378
-6239a5d4| DCPS2 $10699
-e3ebabd4| DCPS3 $24415
-bf3a03d5| DMB $10
-e003bfd6| DRPS
-9f3003d5| DSB $0
-c974354a| EONW R21<<29, R6, R9
-89b86eca| EON R14>>46, R4, R9
-76e343d2| EOR $-2287828610704211969, R27, R22
-536d8c4a| EORW R12->27, R10, R19
-d1ef1cca| EOR R28<<59, R30, R17
-e0039fd6| ERET
-591d8813| EXTRW $7, R8, R10, R25
-888dd693| EXTR $35, R22, R12, R8
-bf2003d5| SEVL
-df2003d5| HINT $6
-a0fc5fd4| HLT $65509
-df3103d5| ISB $1
-9dfddf88| LDARW (R12), R29
-76ffdfc8| LDAR (R27), R22
-36ffdf08| LDARB (R25), R22
-bcfcdf48| LDARH (R5), R28
-54c17f88| LDAXPW (R10), (R20, R16)
-3eaf7fc8| LDAXP (R25), (R30, R11)
-e2fd5f88| LDAXRW (R15), R2
-f5fd5fc8| LDAXR (R15), R21
-70fe5f08| LDAXRB (R19), R16
-bcfc5f48| LDAXRH (R5), R28
-ecff5928| LDNPW 204(RSP), ZR, R12
-852744a8| LDNP 64(R28), R9, R5
-1286d728| LDP.P 188(R16), (R18, R1)
-7668e8a8| LDP.P -384(R3), (R22, R26)
-6d8bc729| LDP.W 60(R27), (R13, R2)
-1cadd1a9| LDP.W 280(R8), (R28, R11)
-bf4e7e29| LDP -16(R21), (ZR, R19)
-61695fa9| LDP 496(R11), (R1, R26)
-4c00e668| LDPSW -208(R2), R0, R12
-85a0cb69| LDPSW 92(R4), R8, R5
-9b894d69| LDPSW 108(R12), R2, R27
-e9955ab8| MOVWU.P -87(R15), R9
-5c255df8| MOVD.P -46(R10), R28
-703c57b8| MOVWU.W -141(R3), R16
-1dac57f8| MOVD.W -134(R0), R29
-393c50b9| MOVWU 4156(R1), R25
-498d5cf9| MOVD 14616(R10), R9
-72fa72b8| MOVWU (R19)(R18.SXTX<<2), R18
-daeb66f8| MOVD (R30)(R6.SXTX), R26
-8ca74238| MOVBU.P 42(R28), R12
-4e5c5e38| MOVBU.W -27(R2), R14
-03936d39| MOVBU 2916(R24), R3
-577a6e38| MOVBU (R18)(R14), R23
-adb54678| MOVHU.P 107(R13), R13
-820f4c78| MOVHU.W 192(R28), R2
-92787579| MOVHU 6844(R4), R18
-4bd6c438| MOVBW.P 77(R18), R11
-fb478238| MOVB.P 36(RSP), R27
-4d7edc38| MOVBW.W -57(R18), R13
-18ee9438| MOVB.W -178(R16), R24
-16b9c639| MOVBW 430(R8), R22
-37958f39| MOVB 997(R9), R23
-af7ae238| MOVBW (R21)(R2), R15
-1568fa38| MOVBW (R0)(R26), R21
-744bbf38| MOVB (R27)(ZR.UXTW), R20
-f069a538| MOVB (R15)(R5), R16
-d9a6cd78| MOVHW.P 218(R22), R25
-ff368b78| MOVH.P 179(R23), ZR
-5b8cc878| MOVHW.W 136(R2), R27
-361f9c78| MOVH.W -63(R25), R22
-359bec79| MOVHW 5708(R25), R21
-4d6c8079| MOVH 54(R2), R13
-9deae578| MOVHW (R20)(R5.SXTX), R29
-f2fab878| MOVH (R23)(R24.SXTX<<1), R18
-02669cb8| MOVW.P -58(R16), R2
-5c8e92b8| MOVW.W -216(R18), R28
-ea9e92b9| MOVW 4764(R23), R10
-49dabcb8| MOVW (R18)(R28.SXTW<<2), R9
-64285eb8| LDTRW -30(R3), R4
-6ab851f8| LDTR -229(R3), R10
-aa094f38| LDTRBW 240(R13), R10
-b7894e78| LDTRH 232(R13), R23
-85cadd38| LDTRSBW -36(R20), R5
-2db99838| LDTRSB -117(R9), R13
-7ef8ce78| LDTRSHW 239(R3), R30
-786a8978| LDTRSH 150(R19), R24
-c5eb81b8| LDTRSW 30(R30), R5
-a1f14bb8| LDURW 191(R13), R1
-c3425cf8| LDUR -60(R22), R3
-2e125038| LDURBW -255(R17), R14
-26004878| LDURHW 128(R1), R6
-c3e3cd38| LDURSBW 222(R30), R3
-27618938| LDURSB 150(R9), R7
-7c71db78| LDURSHW -73(R11), R28
-1d109e78| LDURSH -31(R0), R29
-d48084b8| LDURSW 72(R6), R20
-172f7f88| LDXPW (R24), (R23, R11)
-10347fc8| LDXP (R0), (R16, R13)
-fe7f5f88| LDXRW (RSP), R30
-6c7f5fc8| LDXR (R27), R12
-047c5f08| LDXRB (R0), R4
-9a7d5f48| LDXRH (R12), R26
-4f21cb1a| LSLW R11, R10, R15
-1523db9a| LSL R27, R24, R21
-81c74fd3| UBFX $15, R28, $35, R1
-c922c81a| LSLW R8, R22, R9
-fd22dc9a| LSL R28, R23, R29
-4226dd1a| LSRW R29, R18, R2
-a224ca9a| LSR R10, R5, R2
-707c0153| LSRW $1, R3, R16
-34fc4cd3| LSR $12, R1, R20
-6c24c91a| LSRW R9, R3, R12
-8527c89a| LSR R8, R28, R5
-ea36171b| MADDW R23, R13, R23, R10
-e47a0a9b| MADD R10, R30, R23, R4
-35fd001b| MNEGW R0, R9, R21
-77ff0e9b| MNEG R14, R27, R23
-38030011| ADDW $0, R25, R24
-37030091| ADD $0, R25, R23
-94b8ad12| MOVW $2453405695, R20
-fff29892| MOVD $-51096, ZR
-d4adb252| MOVW $2507014144, R20
-8747e2d2| MOVD $1313925191285342208, R7
-f5132d32| ORRW $16252928, ZR, R21
-eb7f34b2| MOVD $-1, R11
-f503092a| MOVW R9, R21
-e7031eaa| MOVD R30, R7
-35e8c1f2| MOVK $(3905<<32), R21
-44629512| MOVW $4294923501, R4
-cc0dd392| MOVD $-167598213824513, R12
-cbfb9152| MOVW $36830, R11
-3d25ebd2| MOVD $6424666343420723200, R29
-e67a3fd5| MRS $31703, R6
-f9dd15d5| MSR R25, S2_5_C13_C13_7
-25840c1b| MSUBW R12, R1, R1, R5
-02ce1a9b| MSUB R26, R19, R16, R2
-b67c1a1b| MULW R26, R5, R22
-607c049b| MUL R4, R3, R0
-e97f6daa| MVN R13>>31, R9
-fe071f6b| NEGSW ZR<<1, R30
-f68f14eb| NEGS R20<<35, R22
-e8030d5a| NGCW R13, R8
-fe031eda| NGC R30, R30
-e5030a7a| NGCSW R10, R5
-f00318fa| NGCS R24, R16
-1f2003d5| NOP
-032ee42a| ORNW R4@>11, R16, R3
-634cf6aa| ORN R22@>19, R3, R3
-f8492d32| ORRW $4294443071, R15, R24
-96f542b2| ORR $-3458764513820540929, R12, R22
-1c110d2a| ORRW R13<<4, R8, R28
-c65b1eaa| ORR R30<<22, R30, R6
-f300b2f9| PRFM 25600(R7), PSTL2STRM
-2aa196d8| PRFM -215799(PC), PLIL2KEEP
-2ad8bef8| PRFM (R1)(R30.SXTW<<3), PLIL2KEEP
-c62184f8| PRFUM 66(R14), $6
-3601c05a| RBITW R9, R22
-6401c0da| RBIT R11, R4
-e0035fd6| RET ZR
-0a09c05a| REVW R8, R10
-220cc0da| REV R1, R2
-b206c05a| REV16W R21, R18
-2407c0da| REV16 R25, R4
-7e0bc0da| REV32 R27, R30
-ae0ec0da| REV R21, R14
-336f8413| EXTRW $27, R4, R25, R19
-af47ca93| EXTR $17, R10, R29, R15
-bc2cdb1a| RORW R27, R5, R28
-e52fdd9a| ROR R29, ZR, R5
-832dc31a| RORW R3, R12, R3
-e22ec09a| ROR R0, R23, R2
-1801045a| SBCW R4, R8, R24
-5a0119da| SBC R25, R10, R26
-52021b7a| SBCSW R27, R18, R18
-250105fa| SBCS R5, R9, R5
-fc430b13| SBFXW $11, ZR, $6, R28
-a0574093| SBFX $0, R29, $22, R0
-8b3b7a93| SBFIZ $6, R28, $15, R11
-fc310513| SBFXW $5, R15, $8, R28
-fbdc4293| SBFX $2, R7, $54, R27
-c90dd61a| SDIVW R22, R14, R9
-a90ecd9a| SDIV R13, R21, R9
-9f2003d5| SEV
-bf2003d5| SEVL
-d27f229b| SMULL R2, R30, R18
-efff3a9b| SMNEGL R26, ZR, R15
-7d963f9b| SMSUBL ZR, R5, R19, R29
-b57e519b| SMULH R17, R21, R21
-a07c209b| SMULL R0, R5, R0
-d0fe9f88| STLRW R16, (R22)
-03ff9fc8| STLR R3, (R24)
-8bff9f08| STLRB R11, (R28)
-f0fe9f48| STLRH R16, (R23)
-c6ae3588| STLXPW (R6, R11), (R22), R21
-c6fa22c8| STLXP (R6, R30), (R22), R2
-affd0e88| STLXRW R15, (R13), R14
-67ff1cc8| STLXR R7, (R27), R28
-17ff1c08| STLXRB R23, (R24), R28
-7bfe0b48| STLXRH R27, (R19), R11
-2a8c0528| STNPW 44(R1), R3, R10
-67fc10a8| STNP 264(R3), ZR, R7
-5559bd28| STP.P (R21, R22), -24(R10)
-166c96a8| STP.P (R22, R27), 352(R0)
-3d4a8729| STP.W (R29, R18), 56(R17)
-912f86a9| STP.W (R17, R11), 96(R28)
-c40d3029| STP (R4, R3), -128(R14)
-f73f39a9| STP (R23, R15), -112(RSP)
-34441eb8| MOVW.P R20, -28(R1)
-11f60bf8| MOVD.P R17, 191(R16)
-c15d15b8| MOVW.W R1, -171(R14)
-ae4d12f8| MOVD.W R14, -220(R13)
-03ef39b9| MOVW R3, 14828(R24)
-208228f9| MOVD R0, 20736(R17)
-734823f8| MOVD R19, (R3)(R3.UXTW)
-ffb41838| MOVB.P ZR, -117(R7)
-bb0d1a38| MOVB.W R27, -96(R13)
-b1612239| MOVB R17, 2200(R13)
-92682038| MOVB R18, (R4)(R0)
-81682638| MOVB R1, (R4)(R6)
-87841b78| MOVH.P R7, -72(R4)
-cc3d1878| MOVH.W R12, -125(R14)
-53cf1c79| MOVH R19, 3686(R26)
-63792d78| MOVH R3, (R11)(R13<<1)
-9d7803b8| STTRW 55(R4), R29
-b9c807f8| STTR 124(R5), R25
-f04a1e38| STTRBW -28(R23), R16
-52990078| STTRHW 9(R10), R18
-152002b8| MOVW R21, 34(R0)
-397217f8| MOVD R25, -137(R17)
-8f320138| MOVB R15, 19(R20)
-eb021b78| MOVH R11, -80(R23)
-854a3f88| STXPW (R5, R18), (R20), ZR
-d12620c8| STXP (R17, R9), (R22), R0
-537e0288| STXRW R19, (R18), R2
-af7d15c8| STXR R15, (R13), R21
-e97c1d08| STXRB R9, (R7), R29
-837d1b48| STXRH R3, (R12), R27
-f25e344b| SUBW R20.UXTW<<7, R23, R18
-3ac825cb| SUB R5.SXTW<<2, R1, R26
-e8f40ccb| SUB R12<<61, R7, R8
-a6ad226b| SUBSW R2.SXTH<<3, R13, R6
-647735eb| SUBS R21.UXTX<<5, R27, R4
-c770566b| SUBSW R22>>28, R6, R7
-d03c1aeb| SUBS R26<<15, R6, R16
-a17f03d4| SVC $7165
-991f0013| SXTBW R28, R25
-a91d4093| SXTB R13, R9
-083d0013| SXTHW R8, R8
-393e4093| SXTH R17, R25
-1b7c4093| SXTW R0, R27
-0c5b2cd5| SYSL $285440, R12
-3f0d0172| TSTW $2147483655, R9
-df6f7cf2| TST $4294967280, R30
-1f2f11ea| TST R17<<11, R24
-9ced71d3| UBFX $49, R12, $11, R28
-1cbb7fd3| UBFIZ $1, R24, $47, R28
-25e661d3| UBFX $33, R17, $25, R5
-af0adc1a| UDIVW R28, R21, R15
-550ac29a| UDIV R2, R18, R21
-9102b19b| UMADDL R17, R0, R20, R17
-41fea39b| UMNEGL R3, R18, R1
-87d8a39b| UMSUBL R3, R22, R4, R7
-987ed89b| UMULH R24, R20, R24
-d37eb29b| UMULL R18, R22, R19
-461c0053| UXTBW R2, R6
-f43c0053| UXTHW R7, R20
-5f2003d5| WFE
-7f2003d5| WFI
-3f2003d5| YIELD
-e5bb200e| VABS V31.B8, V5.B8
-c9842d0e| VADD V13.B8, V6.B8, V9.B8
-f4bd394e| VADDP V25.B16, V15.B16, V20.B16
-b3b8b14e| VADDV V5.S4, V19
-cd5b284e| AESD V30.B16, V13.B16
-4b4b284e| AESE V26.B16, V11.B16
-2879284e| AESIMC V9.B16, V8.B16
-fe68284e| AESMC V7.B16, V30.B16
-f61e334e| VAND V19.B16, V23.B16, V22.B16
-88a4002f| VMVNI $(4<<8), V8.H4
-1877076f| VBIC $(248<<24), V24.S4
-0d1e6c0e| VBIC V12.B8, V16.B8, V13.B8
-b81ce26e| VBIF V2.B16, V5.B16, V24.B16
-381cbf2e| VBIT V31.B8, V1.B8, V24.B8
-cd1f6c6e| VBSL V12.B16, V30.B16, V13.B16
-8d48a00e| VCLS V4.S2, V13.S2
-324ba02e| VCLZ V25.S2, V18.S2
-c88f2b2e| VCMEQ V11.B8, V30.B8, V8.B8
-a799e05e| VCMEQ $0, V13, V7
-dc9be04e| VCMEQ $0, V30.D2, V28.D2
-623f2d4e| VCMGE V13.B16, V27.B16, V2.B16
-e889e06e| VCMGE $0, V15.D2, V8.D2
-cb37e55e| VCMGT V5, V30, V11
-8e37b00e| VCMGT V16.S2, V28.S2, V14.S2
-1a8be04e| VCMGT $0, V24.D2, V26.D2
-7f37eb7e| VCMHI V11, V27, V31
-333d356e| VCMHS V21.B16, V9.B16, V19.B16
-bd9ae07e| VCMLE $0, V21, V29
-8999602e| VCMLE $0, V12.H4, V9.H4
-aca9e05e| VCMLT $0, V13, V12
-7fa8204e| VCMLT $0, V3.B16, V31.B16
-588db20e| VCMTST V18.S2, V10.S2, V24.S2
-cc051d5e| VMOV V14.B[14], V12
-4c06050e| VDUP V18.B[2], V12.B8
-790c020e| VDUP R3, V25.H4
-391d286e| VEOR V8.B16, V9.B16, V25.B16
-4b30156e| VEXT $6, V21.B16, V2.B16, V11.B16
-44d6bf7e| FABD F31, F18, F4
-17fba00e| FABS V24.S2, V23.S2
-90c2201e| FABSS F20, F16
-62c2601e| FABSD F19, F2
-eeef3f7e| FACGE F31, F31, F14
-09efa07e| FACGT F0, F24, F9
-72edae6e| VFACGT V14.S4, V11.S4, V18.S4
-61d5394e| FADD V25.S4, V11.S4, V1.S4
-0d2a3d1e| FADDS F29, F16, F13
-4b296f1e| FADDD F15, F10, F11
-78d8307e| FADDP V3.S2, F24
-e7d7322e| VFADDP V18.S2, V31.S2, V7.S2
-e8253c1e| FCCMPS HS, F28, F15, $8
-e8857f1e| FCCMPD HI, F31, F15, $8
-5714291e| FCCMPES NE, F9, F2, $7
-b484631e| FCCMPED HI, F3, F5, $4
-3ce5685e| FCMEQ F8, F9, F28
-50e6214e| VFCMEQ V1.S4, V18.S4, V16.S4
-9ddae05e| FCMEQ $0, F20, F29
-b3e62b7e| FCMGE F11, F21, F19
-0ce4396e| VFCMGE V25.S4, V0.S4, V12.S4
-a6c9e07e| FCMGE $0, F13, F6
-ede6bd7e| FCMGT F29, F23, F13
-13e6ae2e| VFCMGT V14.S2, V16.S2, V19.S2
-4cc9e05e| FCMGT $0, F10, F12
-41cba04e| VFCMGT $0, V26.S4, V1.S4
-96d8e07e| FCMLE $0, F4, F22
-0be9a05e| FCMLT $0, F8, F11
-dfe9a04e| VFCMLT $0, V14.S4, V31.S4
-a023301e| FCMPS F16, F29
-68213e1e| FCMPS $(0.0), F11
-20236d1e| FCMPD F13, F25
-68216b1e| FCMPD $(0.0), F11
-3023351e| FCMPES F21, F25
-78203e1e| FCMPES $(0.0), F3
-b022721e| FCMPED F18, F21
-f8226f1e| FCMPED $(0.0), F23
-b54e271e| FCSELS MI, F21, F7, F21
-319f611e| FCSELD LS, F25, F1, F17
-2142e21e| FCVTHS F17, F1
-cfc3e21e| FCVTHD F30, F15
-01c1231e| FCVTSH F8, F1
-4fc0221e| FCVTSD F2, F15
-f9c0631e| FCVTDH F7, F25
-2b43621e| FCVTDS F25, F11
-f1c8615e| FCVTAS F7, F17
-ea01241e| FCVTASW F15, R10
-0c02249e| FCVTAS F16, R12
-e702641e| FCVTASW F23, R7
-f501649e| FCVTAS F15, R21
-45ca217e| FCVTAU F18, F5
-66c9212e| VFCVTAU V11.S2, V6.S2
-b302251e| FCVTAUW F21, R19
-e102259e| FCVTAU F23, R1
-5703651e| FCVTAUW F26, R23
-2c01659e| FCVTAU F9, R12
-2c7b210e| VFCVTL V25.H4, V12.S4
-f478214e| VFCVTL2 V7.H8, V20.S4
-d1b8615e| FCVTMS F6, F17
-a2ba614e| VFCVTMS V21.D2, V2.D2
-ee01301e| FCVTMSW F15, R14
-de01309e| FCVTMS F14, R30
-8401701e| FCVTMSW F12, R4
-c502709e| FCVTMS F22, R5
-44b8617e| FCVTMU F2, F4
-5601311e| FCVTMUW F10, R22
-4602319e| FCVTMU F18, R6
-1003711e| FCVTMUW F24, R16
-e602719e| FCVTMU F23, R6
-c16b210e| VFCVTN V30.S4, V1.H4
-4d6b614e| VFCVTN2 V26.D2, V13.S4
-95ab215e| FCVTNS F28, F21
-65a9614e| VFCVTNS V11.D2, V5.D2
-8a02201e| FCVTNSW F20, R10
-bc03209e| FCVTNS F29, R28
-fc01601e| FCVTNSW F15, R28
-9800609e| FCVTNS F4, R24
-b1aa617e| FCVTNU F21, F17
-80a9216e| VFCVTNU V12.S4, V0.S4
-3201211e| FCVTNUW F9, R18
-e101219e| FCVTNU F15, R1
-ae00611e| FCVTNUW F5, R14
-9503619e| FCVTNU F28, R21
-3faae15e| FCVTPS F17, F31
-c4a8e14e| VFCVTPS V6.D2, V4.D2
-ab01281e| FCVTPSW F13, R11
-5800289e| FCVTPS F2, R24
-9b02681e| FCVTPSW F20, R27
-de03689e| FCVTPS F30, R30
-d8aaa17e| FCVTPU F22, F24
-e203291e| FCVTPUW F31, R2
-5302299e| FCVTPU F18, R19
-5302691e| FCVTPUW F18, R19
-8501699e| FCVTPU F12, R5
-93ff735f| FCVTZS $13, F28, F19
-b7fd504f| FCVTZS $48, V13.D2, V23.D2
-7ebba15e| FCVTZSSS F27, F30
-d49f181e| FCVTZS $25, F30, R20
-538d189e| FCVTZS $29, F10, R19
-7e74589e| FCVTZS $35, F3, R30
-4300381e| FCVTZSSW F2, R3
-bc03389e| FCVTZSS F29, R28
-c702781e| FCVTZSDW F22, R7
-0401789e| FCVTZSD F8, R4
-d1ff2e7f| FCVTZU $18, F30, F17
-d0fd3b2f| FCVTZU $5, V14.S2, V16.S2
-70bae17e| FCVTZUDD F19, F16
-3ef6191e| FCVTZU $3, F17, R30
-cae7199e| FCVTZU $7, F30, R10
-cffb599e| FCVTZU $2, F30, R15
-e402391e| FCVTZUSW F23, R4
-1a03399e| FCVTZUS F24, R26
-0401791e| FCVTZUDW F8, R4
-c200799e| FCVTZUD F6, R2
-ebfe346e| FDIV V20.S4, V23.S4, V11.S4
-c918371e| FDIVS F23, F6, F9
-911a7f1e| FDIVD F31, F20, F17
-a81f0c1f| FMADDS F12, F7, F29, F8
-d0404a1f| FMADDD F10, F16, F6, F16
-7ff6324e| FMAX V18.S4, V19.S4, V31.S4
-b84b351e| FMAXS F21, F29, F24
-d64b621e| FMAXD F2, F30, F22
-016b241e| FMAXNMS F4, F24, F1
-5b69781e| FMAXNMD F24, F10, F27
-f1c8707e| FMAXNMP V7.D2, F17
-27c5306e| VFMAXNMP V16.S4, V9.S4, V7.S4
-aef8707e| FMAXP V5.D2, F14
-53f6202e| VFMAXP V0.S2, V18.S2, V19.S2
-78fb306e| FMAXV V27.S4, F24
-5af4ec4e| FMIN V12.D2, V2.D2, V26.D2
-505a3c1e| FMINS F28, F18, F16
-4858661e| FMIND F6, F2, F8
-a9c6e04e| FMINNM V0.D2, V21.D2, V9.D2
-987b311e| FMINNMS F17, F28, F24
-95796f1e| FMINNMD F15, F12, F21
-f5cbb07e| FMINNMP V31.S2, F21
-b0f8f07e| FMINP V5.D2, F16
-8bf5a42e| VFMINP V4.S2, V12.S2, V11.S2
-87cd384e| VFMLA V24.S4, V12.S4, V7.S4
-fd50db5f| FMLS V27.D[0], F7, F29
-d1ccb44e| VFMLS V20.S4, V6.S4, V17.S4
-ebf5064f| FMOV $-0.242188, V11.S4
-49f4056f| FMOV $-9., V9.D2
-0940201e| FMOVS F0, F9
-db43601e| FMOVD F30, F27
-a901271e| FMOVS R13, F9
-3702261e| FMOVS F17, R23
-4d02679e| FMOVD R18, F13
-9d02af9e| FMOV R20, V29.D[1]
-ef03669e| FMOVD F31, R15
-7101ae9e| FMOV V11.D[1], R17
-0e103d1e| FMOVS $-0.75, F14
-1e50761e| FMOVD $-18., F30
-d2b4121f| FMSUBS F18, F13, F6, F18
-0a9c4c1f| FMSUBD F12, F7, F0, F10
-0d99b35f| FMULS V19.S[3], F8, F13
-a89b9b0f| FMUL V27.S[2], V29.S2, V8.S2
-75dc376e| FMUL V23.S4, V3.S4, V21.S4
-7909241e| FMULS F4, F11, F25
-d7096b1e| FMULD F11, F14, F23
-2999ab7f| FMULX V11.S[3], F9, F9
-35dd6d5e| FMULX F13, F9, F21
-c8dc284e| VFMULX V8.S4, V6.S4, V8.S4
-c043211e| FNEGS F30, F0
-4742611e| FNEGD F18, F7
-9c51251f| FNMADDS F5, F20, F12, F28
-e407771f| FNMADDD F23, F1, F31, F4
-fbfa3a1f| FNMSUBS F26, F30, F23, F27
-bbb0691f| FNMSUBD F9, F12, F5, F27
-6a8b3f1e| FNMULS F31, F27, F10
-1a8b751e| FNMULD F21, F24, F26
-57d8e15e| FRECPE F2, F23
-62dba14e| VFRECPE V27.S4, V2.S4
-81fd325e| FRECPS F18, F12, F1
-31fe224e| VFRECPS V2.S4, V17.S4, V17.S4
-ecf9e15e| FRECPX F15, F12
-c18b216e| FRINTA V30.S4, V1.S4
-0240261e| FRINTAS F0, F2
-8041661e| FRINTAD F12, F0
-c89ba12e| FRINTI V30.S2, V8.S2
-2ec2271e| FRINTIS F17, F14
-5cc0671e| FRINTID F2, F28
-3898210e| FRINTM V1.S2, V24.S2
-9843251e| FRINTMS F28, F24
-5b40651e| FRINTMD F2, F27
-2189614e| FRINTN V9.D2, V1.D2
-7e42241e| FRINTNS F19, F30
-5d40641e| FRINTND F2, F29
-85c3241e| FRINTPS F28, F5
-46c2641e| FRINTPD F18, F6
-c39b216e| FRINTX V30.S4, V3.S4
-a243271e| FRINTXS F29, F2
-1d41671e| FRINTXD F8, F29
-5499e14e| FRINTZ V10.D2, V20.D2
-92c2251e| FRINTZS F20, F18
-75c2651e| FRINTZD F19, F21
-ddd9e17e| FRSQRTE F14, F29
-60fff85e| FRSQRTS F24, F27, F0
-dafffb4e| VFRSQRTS V27.D2, V30.D2, V26.D2
-1ff9a12e| FSQRT V8.S2, V31.S2
-2dc3211e| FSQRTS F25, F13
-72c0611e| FSQRTD F3, F18
-7d3a3e1e| FSUBS F30, F19, F29
-3f38771e| FSUBD F23, F1, F31
-185e016e| VMOV V16.B[11], V24.B[0]
-911d0d4e| VMOV R12, V17.B[6]
-2877400c| VLD1 (R25), [V8.H4]
-8ea8404c| VLD1 (R4), [V14.S4, V15.S4]
-0f62404c| VLD1 (R16), [V15.B16, V16.B16, V17.B16]
-0f27400c| VLD1 (R24), [V15.H4, V16.H4, V17.H4, V18.H4]
-4c75df0c| VLD1.P 8(R10), [V12.H4]
-2f7bd04c| VLD1.P (R25)(R16), [V15.S4]
-eaaadf0c| VLD1.P 16(R23), [V10.S2, V11.S2]
-eca7cc4c| VLD1.P (RSP)(R12), [V12.H8, V13.H8]
-cd60df4c| VLD1.P 48(R6), [V13.B16, V14.B16, V15.B16]
-9163df0c| VLD1.P 24(R28), [V17.B8, V18.B8, V19.B8]
-152ddf4c| VLD1.P 64(R8), [V21.D2, V22.D2, V23.D2, V24.D2]
-0725c04c| VLD1.P (R8)(R0), [V7.H8, V8.H8, V9.H8, V10.H8]
-7c04404d| VLD1 (R3), V28.B[9]
-6d49404d| VLD1 (R11), V13.H[5]
-9e81400d| VLD1 (R12), V30.S[0]
-d384404d| VLD1 (R6), V19.D[1]
-b20ddf4d| VLD1.P 1(R13), V18.B[11]
-f114cd4d| VLD1.P (R7)(R13), V17.B[13]
-bb92df4d| VLD1.P 4(R21), V27.S[3]
-a883d64d| VLD1.P (R29)(R22), V8.S[2]
-f584df4d| VLD1.P 8(R7), V21.D[1]
-0284c80d| VLD1.P (R0)(R8), V2.D[0]
-91c3400d| VLD1R (R28), [V17.B8]
-71c9df0d| VLD1R 4(R11), [V17.S2]
-e7c4db0d| VLD1R (R7)(R27), [V7.H4]
-b787404c| VLD2 (R29), [V23.H8, V24.H8]
-1280df0c| VLD2 16(R0), [V18.B8, V19.B8]
-2f88c10c| VLD2 (R1)(R1), [V15.S2, V16.S2]
-a01e604d| LD2 (R21), [V0.B, V1.B][15]
-eb82604d| LD2 (R23), [V11.S, V12.S][2]
-f985600d| LD2 (R15), [V25.D, V26.D][0]
-e315ff0d| LD2 2(R15), [V3.B, V4.B][5]
-1c11f24d| LD2 (R8)(R18), [V28.B, V29.B][12]
-f341ef4d| LD2 (R15)(R15), [V19.H, V20.H][4]
-5a80ff4d| LD2 8(R2), [V26.S, V27.S][2]
-d781fd0d| LD2 (R14)(R29), [V23.S, V24.S][0]
-c885ff0d| LD2 16(R14), [V8.D, V9.D][0]
-1286f34d| LD2 (R16)(R19), [V18.D, V19.D][1]
-06c2600d| VLD2R (R16), [V6.B8, V7.B8]
-95c7ff4d| VLD2R 4(R28), [V21.H8, V22.H8]
-d4c1e14d| VLD2R (R14)(R1), [V20.B16, V21.B16]
-eb4bdf4c| VLD3 48(RSP), [V11.S4, V12.S4, V13.S4]
-ce4fc24c| VLD3 (R30)(R2), [V14.D2, V15.D2, V16.D2]
-db23400d| LD3 (R30), [V27.B, V28.B, V29.B][0]
-26b3400d| LD3 (R25), [V6.S, V7.S, V8.S][1]
-37a4400d| LD3 (R1), [V23.D, V24.D, V25.D][0]
-052edf4d| LD3 3(R16), [V5.B, V6.B, V7.B][11]
-8c3ccd0d| LD3 (R4)(R13), [V12.B, V13.B, V14.B][7]
-74b0df4d| LD3 12(R3), [V20.S, V21.S, V22.S][3]
-b7b1c84d| LD3 (R13)(R8), [V23.S, V24.S, V25.S][3]
-e6a5df4d| LD3 24(R15), [V6.D, V7.D, V8.D][1]
-42a5c80d| LD3 (R10)(R8), [V2.D, V3.D, V4.D][0]
-9ceb400d| VLD3R (R28), [V28.S2, V29.S2, V30.S2]
-6aeadf4d| VLD3R 12(R19), [V10.S4, V11.S4, V12.S4]
-65ebce4d| VLD3R (R27)(R14), [V5.S4, V6.S4, V7.S4]
-ea05400c| VLD4 (R15), [V10.H4, V11.H4, V12.H4, V13.H4]
-1f03df0c| VLD4 32(R24), [V31.B8, V0.B8, V1.B8, V2.B8]
-ae09c90c| VLD4 (R13)(R9), [V14.S2, V15.S2, V16.S2, V17.S2]
-fd3a604d| LD4 (R23), [V29.B, V30.B, V31.B, V0.B][14]
-d8a0604d| LD4 (R6), [V24.S, V25.S, V26.S, V27.S][2]
-62a4604d| LD4 (R3), [V2.D, V3.D, V4.D, V5.D][1]
-712fff0d| LD4 4(R27), [V17.B, V18.B, V19.B, V20.B][3]
-aa27f40d| LD4 (R29)(R20), [V10.B, V11.B, V12.B, V13.B][1]
-be71ff4d| LD4 8(R13), [V30.H, V31.H, V0.H, V1.H][6]
-e360ee4d| LD4 (R7)(R14), [V3.H, V4.H, V5.H, V6.H][4]
-c0a0ff0d| LD4 16(R6), [V0.S, V1.S, V2.S, V3.S][0]
-d3a3e00d| LD4 (R30)(R0), [V19.S, V20.S, V21.S, V22.S][0]
-95a7ff0d| LD4 32(R28), [V21.D, V22.D, V23.D, V24.D][0]
-32a6e14d| LD4 (R17)(R1), [V18.D, V19.D, V20.D, V21.D][1]
-56e0604d| VLD4R (R2), [V22.B16, V23.B16, V24.B16, V25.B16]
-dce7ff0d| VLD4R 8(R30), [V28.H4, V29.H4, V30.H4, V31.H4]
-14e8ef0d| VLD4R (R0)(R15), [V20.S2, V21.S2, V22.S2, V23.S2]
-7776732c| VLDNP -104(R19), V29, V23
-23dd746c| VLDNP -184(R9), V23, V3
-383e48ac| VLDNP 256(R17), V15, V24
-0d10c12c| LDP.P 8(R0), (V13, V4)
-fe3ae66c| LDP.P -416(R23), (V30, V14)
-f627f9ac| LDP.P -224(RSP), (V22, V9)
-918cd82d| LDP.W 196(R4), (V17, V3)
-986be46d| LDP.W -448(R28), (V24, V26)
-ebd8f8ad| LDP.W -240(R7), (V11, V22)
-3c905c2d| LDP 228(R1), (V28, V4)
-5887536d| LDP 312(R26), (V24, V1)
-08957cad| LDP -112(R8), (V8, V5)
-c5e5543c| MOVD.P -178(R14), V5
-4ff5417c| MOVD.P 31(R10), V15
-72e54bbc| FMOVS.P 190(R11), F18
-16b55dfc| FMOVD.P -37(R8), F22
-9e24db3c| MOVD.P -78(R4), V30
-d20c503c| MOVD.W -256(R6), V18
-1f1c4d7c| MOVD.W 209(R0), V31
-2fbf4dbc| FMOVS.W 219(R25), F15
-a06c59fc| FMOVD.W -106(R5), F0
-886ddd3c| MOVD.W -42(R12), V8
-58f64e3d| MOVD 957(R18), V24
-f5c3547d| MOVD 2656(RSP), V21
-8e8a7bbd| FMOVS 15240(R20), F14
-8e3c7afd| FMOVD 29816(R4), F14
-f2aeff3d| MOVD 65200(R23), V18
-1d78793c| MOVD (R0)(R25), V29
-b8f15d3c| VLDUR -33(R13), V24
-95635c7c| VLDUR -58(R28), V21
-27d046bc| VLDUR 109(R1), V7
-21624efc| VLDUR 230(R17), V1
-6dd2d83c| VLDUR -115(R19), V13
-dc09be6f| VMLA V30.S[3], V14.S4, V28.S4
-eb97af4e| VMLA V15.S4, V31.S4, V11.S4
-0495722e| VMLS V18.H4, V8.H4, V4.H4
-21070a5e| VMOV V25.H[2], V1
-92471b6e| VMOV V28.B[8], V18.B[13]
-7a1e134e| VMOV R19, V26.B[9]
-761fa30e| VORR V3.B8, V27.B8, V22.B8
-f23d070e| VMOV V15.B[3], R18
-a5e6064f| VMOVI $213, V5.B16
-63c5064f| VMOVI $(203<<136), V3.S4
-bca7014f| VMOVI $(61<<8), V28.H8
-95e4040f| VMOVI $132, V21.B8
-fce4072f| VMOVI $-1099494850561, V28
-24e6036f| VMOVI $72057589742960895, V4.D2
-429d6a4e| VMUL V10.H8, V10.H8, V2.H8
-e558202e| VMVN V7.B8, V5.B8
-fe65012f| VMVNI $(47<<24), V30.S2
-2b16046f| VBIC $145, V11.S4
-7756016f| VBIC $(51<<16), V23.S4
-e159202e| VMVN V15.B8, V1.B8
-da1cf14e| VORN V17.B16, V6.B16, V26.B16
-ca04014f| VMOVI $38, V10.S4
-14a6020f| VMOVI $(80<<8), V20.H4
-2f1fbf0e| VORR V31.B8, V25.B8, V15.B8
-74e2f20e| VPMULL V18.D1, V19.D1, V20.Q1
-2740262e| VRADDHN V6.H8, V1.H8, V7.B8
-17412e6e| VRADDHN2 V14.H8, V8.H8, V23.B16
-da59602e| VRBIT V14.B8, V26.B8
-230a604e| VREV64 V17.H8, V3.H8
-178d210f| VRSHRN $31, V8.D2, V23.S2
-6b8d2c4f| VRSHRN2 $20, V11.D2, V11.S4
-b57c2a0e| VSABA V10.B8, V5.B8, V21.B8
-71533d0e| VSABAL V29.B8, V27.B8, V17.H8
-1c50774e| VSABAL2 V23.H8, V0.H8, V28.S4
-1974be4e| VSABD V30.S4, V0.S4, V25.S4
-6b71ad0e| VSABDL V13.S2, V11.S2, V11.D2
-5270324e| VSABDL2 V18.B16, V2.B16, V18.H8
-366b200e| VSADALP V25.B8, V22.H4
-1802680e| VSADDL V8.H4, V16.H4, V24.S4
-022b604e| VSADDLP V24.H8, V2.S4
-413ab04e| VSADDLV V18.S4, V1
-4013750e| VSADDW V21.H4, V26.S4, V0.S4
-4412744e| VSADDW2 V20.H8, V18.S4, V4.S4
-2ee6255f| SCVTF $27, F17, F14
-dce75f4f| SCVTF $33, V30.D2, V28.D2
-5bdb615e| SCVTFDD F26, F27
-3ad9210e| SCVTF V9.S2, V26.S2
-1ceb421e| SCVTF $6, R24, F28
-9dde029e| SCVTF $9, R20, F29
-57d1429e| SCVTF $12, R10, F23
-d600221e| SCVTFWS R6, F22
-c503621e| SCVTFWD R30, F5
-3303229e| SCVTFS R25, F19
-0003629e| SCVTFD R24, F0
-6f01075e| SHA1C V7.S4, V11, V15
-9308285e| SHA1H V4, V19
-b420105e| SHA1M V16.S4, V5, V20
-f4131f5e| SHA1P V31.S4, V31, V20
-dc311f5e| SHA1SU0 V31.S4, V14.S4, V28.S4
-bb1a285e| SHA1SU1 V21.S4, V27.S4
-2753075e| SHA256H2 V7.S4, V25, V7
-3141065e| SHA256H V6.S4, V9, V17
-172b285e| SHA256SU0 V24.S4, V23.S4
-bb621b5e| SHA256SU1 V27.S4, V21.S4, V27.S4
-7005644e| VSHADD V4.H8, V11.H8, V16.H8
-2d870e0f| VSHRN $2, V25.H8, V13.B8
-ac86024f| VMOVI $85, V12.H8
-1c26a50e| VSHSUB V5.S2, V16.S2, V28.S2
-db576b6f| VSLI $43, V30.D2, V27.D2
-c3652c4e| VSMAX V12.B16, V14.B16, V3.B16
-b5a7ab0e| VSMAXP V11.S2, V29.S2, V21.S2
-f1aeb34e| VSMINP V19.S4, V23.S4, V17.S4
-87a8b14e| VSMINV V4.S4, V7
-1e21bc4f| VSMLAL2 V28.S[1], V8.S4, V30.D2
-50a33a0e| VSMLSL V26.B8, V26.B8, V16.H8
-4e2d1a0e| SMOVW V10.H[6], R14
-9ba9b30f| VSMULL V19.S[3], V12.S2, V27.D2
-417a205e| VSQABS V18, V1
-9f78a04e| VSQABS V4.S4, V31.S4
-580d2e5e| VSQADD V14, V10, V24
-3d30764f| VSQDMLAL2 V6.H[3], V1.H8, V29.S4
-9591b25e| VSQDMLAL V18, V12, V21
-0d92670e| VSQDMLAL V7.H4, V16.H4, V13.S4
-90b1765e| VSQDMLSL V22, V12, V16
-83c2ad5f| VSQDMULH V13.S[1], V20, V3
-bbb7aa5e| VSQDMULH V10, V29, V27
-c8b99a5f| VSQDMULL V26.S[2], V14, V8
-75b3920f| VSQDMULL V18.S[0], V27.S2, V21.D2
-86d1b75e| VSQDMULL V23, V12, V6
-edd06f4e| VSQDMULL2 V15.H8, V7.H8, V13.S4
-0f7ae07e| VSQNEG V16, V15
-e87b602e| VSQNEG V31.H4, V8.H4
-ecb5a92e| VSQRDMULH V9.S2, V15.S2, V12.S2
-d75fba5e| VSQRSHL V26, V30, V23
-f75f324e| VSQRSHL V18.B16, V31.B16, V23.B16
-af9c114f| VSQRSHRN2 $15, V5.S4, V15.H8
-318d2f6f| VSQRSHRUN2 $17, V9.D2, V17.S4
-b3757c5f| VSQSHL $60, V13, V19
-0c776f4f| VSQSHL $47, V24.D2, V12.D2
-d84c2a5e| VSQSHL V10, V6, V24
-ae4e704e| VSQSHL V16.H8, V21.H8, V14.H8
-b566727f| VSQSHLU $50, V21, V21
-4566596f| VSQSHLU $25, V18.D2, V5.D2
-d595140f| VSQSHRN $12, V14.S4, V21.H4
-00940b4f| VSQSHRN2 $5, V0.H8, V0.B16
-5384352f| VSQSHRUN $11, V2.D2, V19.S2
-1a2e3d5e| VSQSUB V29, V16, V26
-b02e6b4e| VSQSUB V11.H8, V21.H8, V16.H8
-1249a15e| VSQXTN V8, V18
-eb49610e| VSQXTN V15.S4, V11.H4
-cb4a614e| VSQXTN2 V22.S4, V11.H8
-102b217e| VSQXTUN V24, V16
-492a212e| VSQXTUN V18.H8, V9.B8
-112a616e| VSQXTUN2 V16.S4, V17.H8
-6c16ae4e| VSRHADD V14.S4, V19.S4, V12.S4
-5946467f| VSRI $58, V18, V25
-21460a2f| VSRI $6, V17.B8, V1.B8
-9f56b10e| VSRSHL V17.S2, V20.S2, V31.S2
-e724635f| VSRSHR $29, V7, V7
-e8266b4f| VSRSHR $21, V23.D2, V8.D2
-2b37180f| VSRSRA $8, V25.H4, V11.H4
-1644f95e| VSSHL V25, V0, V22
-3644fc4e| VSSHL V28.D2, V1.D2, V22.D2
-d9a61f4f| VSSHLL2 $15, V22.H8, V25.S4
-9b075e5f| VSSHR $34, V28, V27
-2c044c4f| VSSHR $52, V1.D2, V12.D2
-d915324f| VSSRA $14, V14.S4, V25.S4
-de21260e| VSSUBL V6.B8, V14.B8, V30.H8
-c720254e| VSSUBL2 V5.B16, V6.B16, V7.H8
-9d33b90e| VSSUBW V25.S2, V28.D2, V29.D2
-7e71000c| VST1 [V30.B8], (R11)
-cca6000c| VST1 [V12.H4, V13.H4], (R22)
-5467000c| VST1 [V20.H4, V21.H4, V22.H4], (R26)
-cc28004c| VST1 [V12.S4, V13.S4, V14.S4, V15.S4], (R6)
-9e7e9f4c| VST1.P [V30.D2], 16(R20)
-4b769d0c| VST1.P [V11.H4], (R18)(R29)
-adaa9f0c| VST1.P [V13.S2, V14.S2], 16(R21)
-bca7844c| VST1.P [V28.H8, V29.H8], (R29)(R4)
-b5659f0c| VST1.P [V21.H4, V22.H4, V23.H4], 24(R13)
-e669874c| VST1.P [V6.S4, V7.S4, V8.S4], (R15)(R7)
-9b2a9f0c| VST1.P [V27.S2, V28.S2, V29.S2, V30.S2], 32(R20)
-14278b0c| VST1.P [V20.H4, V21.H4, V22.H4, V23.H4], (R24)(R11)
-d002004d| VST1 V16.B[8], (R22)
-9780004d| VST1 V23.S[2], (R4)
-7787004d| VST1 V23.D[1], (R27)
-850d9f0d| VST1.P V5.B[3], 1(R12)
-7b1f8f0d| VST1.P V27.B[7], (R27)(R15)
-7a5a9f4d| VST1.P V26.H[7], 2(R19)
-e14b9e4d| VST1.P V1.H[5], (RSP)(R30)
-dd819f4d| VST1.P V29.S[2], 4(R14)
-a281910d| VST1.P V2.S[0], (R13)(R17)
-b2849f0d| VST1.P V18.D[0], 8(R5)
-c484964d| VST1.P V4.D[1], (R6)(R22)
-f686004c| VST2 (R23), [V22.H8, V23.H8]
-2e869f0c| VST2 16(R17), [V14.H4, V15.H4]
-d200200d| ST2 (R6), [V18.B, V19.B][0]
-ab58200d| ST2 (R5), [V11.H, V12.H][3]
-c491204d| ST2 (R14), [V4.S, V5.S][3]
-5a85204d| ST2 (R10), [V26.D, V27.D][1]
-f217bf0d| ST2 2(RSP), [V18.B, V19.B][5]
-2b0ea04d| ST2 (R17)(R0), [V11.B, V12.B][11]
-4042bf0d| ST2 4(R18), [V0.H, V1.H][0]
-9342af4d| ST2 (R20)(R15), [V19.H, V20.H][4]
-9b91bf4d| ST2 8(R12), [V27.S, V28.S][3]
-7480a10d| ST2 (R3)(R1), [V20.S, V21.S][0]
-c884bf0d| ST2 16(R6), [V8.D, V9.D][0]
-ae86ac4d| ST2 (R21)(R12), [V14.D, V15.D][1]
-614d004c| VST3 (R11), [V1.D2, V2.D2, V3.D2]
-324b9f4c| VST3 48(R25), [V18.S4, V19.S4, V20.S4]
-7340870c| VST3 (R3)(R7), [V19.B8, V20.B8, V21.B8]
-ac24004d| ST3 (R5), [V12.B, V13.B, V14.B][9]
-a161004d| ST3 (R13), [V1.H, V2.H, V3.H][4]
-09b1004d| ST3 (R8), [V9.S, V10.S, V11.S][3]
-78a7004d| ST3 (R27), [V24.D, V25.D, V26.D][1]
-4f349f0d| ST3 3(R2), [V15.B, V16.B, V17.B][5]
-643d840d| ST3 (R11)(R4), [V4.B, V5.B, V6.B][7]
-48699f0d| ST3 6(R10), [V8.H, V9.H, V10.H][1]
-85b19f4d| ST3 12(R12), [V5.S, V6.S, V7.S][3]
-60a18a0d| ST3 (R11)(R10), [V0.S, V1.S, V2.S][0]
-69a49f0d| ST3 24(R3), [V9.D, V10.D, V11.D][0]
-ada7814d| ST3 (R29)(R1), [V13.D, V14.D, V15.D][1]
-760c004c| VST4 (R3), [V22.D2, V23.D2, V24.D2, V25.D2]
-ee0d9f4c| VST4 64(R15), [V14.D2, V15.D2, V16.D2, V17.D2]
-7800970c| VST4 (R3)(R23), [V24.B8, V25.B8, V26.B8, V27.B8]
-a221200d| ST4 (R13), [V2.B, V3.B, V4.B, V5.B][0]
-9a69204d| ST4 (R12), [V26.H, V27.H, V28.H, V29.H][5]
-02a1204d| ST4 (R8), [V2.S, V3.S, V4.S, V5.S][2]
-3fa6200d| ST4 (R17), [V31.D, V0.D, V1.D, V2.D][0]
-943abf0d| ST4 4(R20), [V20.B, V21.B, V22.B, V23.B][6]
-bf26a60d| ST4 (R21)(R6), [V31.B, V0.B, V1.B, V2.B][1]
-55b3bf4d| ST4 16(R26), [V21.S, V22.S, V23.S, V24.S][3]
-dda1b04d| ST4 (R14)(R16), [V29.S, V30.S, V31.S, V0.S][2]
-6aa5bf0d| ST4 32(R11), [V10.D, V11.D, V12.D, V13.D][0]
-e7a7ac0d| ST4 (RSP)(R12), [V7.D, V8.D, V9.D, V10.D][0]
-f9c9202c| VSTNP -252(R15), V18, V25
-18b8316c| VSTNP -232(R0), V14, V24
-409c1cac| VSTNP 912(R2), V7, V0
-73f0812c| STP.P (V19, V28), 12(R3)
-28d0826c| STP.P (V8, V20), 40(R1)
-9bf5bfac| STP.P (V27, V29), -16(R12)
-885ead2d| STP.W (V8, V23), -152(R20)
-b0de926d| STP.W (V16, V23), 296(R21)
-713387ad| STP.W (V17, V12), 224(R27)
-52130a2d| STP (V18, V4), 80(R26)
-b63a236d| STP (V22, V14), -464(R21)
-6d5424ad| STP (V13, V21), -896(R3)
-afb60f3c| MOVD.P V15, 251(R21)
-81e7077c| MOVD.P V1, 126(R28)
-203713bc| FMOVS.P F0, -205(R25)
-60c61ffc| FMOVD.P F0, -4(R19)
-d256813c| MOVD.P V18, 21(R22)
-ffce083c| MOVD.W V31, 140(R23)
-6d3d017c| MOVD.W V13, 19(R11)
-52ed01bc| FMOVS.W F18, 30(R10)
-fafd11fc| FMOVD.W F26, -225(R15)
-663e9b3c| MOVD.W V6, -77(R19)
-7d0c393d| MOVD V29, 3651(R3)
-8f50067d| MOVD V15, 808(R4)
-94680dbd| FMOVS F20, 3432(R4)
-b7673bfd| FMOVD F23, 30408(R29)
-fed3a63d| MOVD V30, 39744(RSP)
-8a6a243c| MOVD V10, (R20)(R4)
-29493fbc| FMOVS F9, (R9)(ZR.UXTW)
-8bd93bfc| FMOVD F11, (R12)(R27.SXTW<<3)
-c768a93c| MOVD V7, (R6)(R9)
-a7b00a3c| MOVD V7, 171(R5)
-40e3107c| MOVD V0, -242(R26)
-18911fbc| FMOVS F24, -7(R8)
-fcc007fc| FMOVD F28, 124(R7)
-db12893c| MOVD V27, 145(R22)
-1686716e| VSUB V17.H8, V16.H8, V22.H8
-5362320e| VSUBHN V18.H8, V18.H8, V19.B8
-6163bf4e| VSUBHN2 V31.D2, V27.D2, V1.S4
-a73be05e| VSUQADD V29, V7
-21a4100f| VSXTL V1.H4, V1.S4
-8b23164e| VTBL V22.B16, [V28.B16, V29.B16], V11.B16
-3642120e| VTBL V18.B8, [V17.B16, V18.B16, V19.B16], V22.B8
-cf611f0e| VTBL V31.B8, [V14.B16, V15.B16, V16.B16, V17.B16], V15.B8
-0b020e4e| VTBL V14.B16, [V16.B16], V11.B16
-9830014e| VTBX V1.B16, [V4.B16, V5.B16], V24.B16
-1452044e| VTBX V4.B16, [V16.B16, V17.B16, V18.B16], V20.B16
-b4711a0e| VTBX V26.B8, [V13.B16, V14.B16, V15.B16, V16.B16], V20.B8
-f911140e| VTBX V20.B8, [V15.B16], V25.B8
-9f28500e| VTRN1 V16.H4, V4.H4, V31.H4
-2e69c64e| VTRN2 V6.D2, V9.D2, V14.D2
-c752756e| VUABAL2 V21.H8, V22.H8, V7.S4
-8675696e| VUABD V9.H8, V12.H8, V6.H8
-a973ab6e| VUABDL2 V11.S4, V29.S4, V9.D2
-fa006c2e| VUADDL V12.H4, V7.H4, V26.S4
-da00236e| VUADDL2 V3.B16, V6.B16, V26.H8
-ab3a306e| VUADDLV V21.B16, V11
-a312746e| VUADDW2 V20.H8, V21.S4, V3.S4
-cee55e7f| UCVTF $34, F14, F14
-8edb617e| UCVTFDD F28, F14
-ab8f431e| UCVTF $29, R29, F11
-68b3039e| UCVTF $20, R27, F8
-7686439e| UCVTF $31, R19, F22
-2a03231e| UCVTFWS R25, F10
-9f01631e| UCVTFWD R12, F31
-a800239e| UCVTFS R5, F8
-0302639e| UCVTFD R16, F3
-df65a42e| VUMAX V4.S2, V14.S2, V31.S2
-29ab702e| VUMAXV V25.H4, V9
-6f6e2e6e| VUMIN V14.B16, V19.B16, V15.B16
-fdada32e| VUMINP V3.S2, V15.S2, V29.S2
-07289a6f| VUMLAL2 V26.S[2], V0.S4, V7.D2
-aa80ad2e| VUMLAL V13.S2, V5.S2, V10.D2
-d66b462f| VUMLSL V6.H[4], V30.H4, V22.S4
-12a3b62e| VUMLSL V22.S2, V24.S2, V18.D2
-583e0d0e| VMOV V18.B[6], R24
-20c3b52e| VUMULL V21.S2, V25.S2, V0.D2
-20c2616e| VUMULL2 V1.H8, V17.H8, V0.S4
-2f0f6d7e| VUQADD V13, V25, V15
-a60c272e| VUQADD V7.B8, V5.B8, V6.B8
-5b5da27e| VUQRSHL V2, V10, V27
-195c786e| VUQRSHL V24.H8, V0.H8, V25.H8
-209e282f| VUQRSHRN $24, V17.D2, V0.S2
-e89e3b6f| VUQRSHRN2 $5, V23.D2, V8.S4
-4f75147f| VUQSHL $4, V10, V15
-d2767d6f| VUQSHL $61, V22.D2, V18.D2
-bb4cfe7e| VUQSHL V30, V5, V27
-794ea42e| VUQSHL V4.S2, V19.S2, V25.S2
-51960b7f| VUQSHRN $5, V18, V17
-642ce77e| VUQSUB V7, V3, V4
-6149617e| VUQXTN V11, V1
-4e48a12e| VUQXTN V2.D2, V14.S2
-9cc8a14e| VURECPE V4.S4, V28.S4
-2f15a52e| VURHADD V5.S2, V9.S2, V15.S2
-5757fb7e| VURSHL V27, V26, V23
-2756706e| VURSHL V16.H8, V17.H8, V7.H8
-a424487f| VURSHR $56, V5, V4
-b926796f| VURSHR $7, V21.D2, V25.D2
-1336076f| VBIC $(240<<8), V19.S4
-e347e06e| VUSHL V0.D2, V31.D2, V3.D2
-f7a5272f| VUSHLL $7, V15.S2, V23.D2
-9ba63d6f| VUSHLL2 $29, V20.S4, V27.D2
-d405737f| VUSHR $13, V14, V20
-3a05116f| VUSHR $15, V9.H8, V26.H8
-1d39607e| VUSQADD V8, V29
-0e39e06e| VUSQADD V8.D2, V14.D2
-8022b02e| VUSUBL V16.S2, V20.S2, V0.D2
-9a20786e| VUSUBL2 V24.H8, V4.H8, V26.S4
-df33692e| VUSUBW V9.H4, V30.S4, V31.S4
-92a5102f| VUXTL V12.H4, V18.S4
-0e19464e| VUZP1 V6.H8, V8.H8, V14.H8
-7629610e| VXTN V11.S4, V22.H4
-7338504e| VZIP1 V16.H8, V3.H8, V19.H8
-357bd64e| VZIP2 V22.D2, V25.D2, V21.D2
-63020f1a| ADCW R15, R19, R3
-1f03159a| ADC R21, R24, ZR
-d300103a| ADCSW R16, R6, R19
-1b0010ba| ADCS R16, R0, R27
-dd133f0b| ADDW ZR.UXTB<<4, R30, R29
-89c42f8b| ADD R15.SXTW<<1, R4, R9
-4e242a11| ADDW $2697, R2, R14
-e1c12f2b| ADDSW R15.SXTW, R15, R1
-733421ab| ADDS R1.UXTH<<5, R3, R19
-0ccc5aab| ADDS R26>>51, R0, R12
-2e122612| ANDW $2080374784, R17, R14
-5e4c2992| AND $-36020000934328321, R2, R30
-2805410a| ANDW R1>>1, R9, R8
-ede1938a| AND R19->56, R15, R13
-e7c10f72| ANDSW $33686018, R15, R7
-23ed55f2| ANDS $-8246337208321, R9, R3
-e6935bea| ANDS R27>>36, ZR, R6
-0e2ac61a| ASRW R6, R16, R14
-802ad59a| ASR R21, R20, R0
-7cfd7793| ASR $55, R11, R28
-f028cd1a| ASRW R13, R7, R16
-132bd29a| ASR R18, R24, R19
-c2560e54| BCS 29366(PC)
-83516b17| JMP -9743997(PC)
-7a571233| BFXILW $18, R27, $4, R26
-71b858b3| BFXIL $24, R3, $23, R17
-c3964bb3| BFXIL $11, R22, $27, R3
-eb561233| BFXILW $18, R23, $4, R11
-063f5db3| BFI $35, R24, $16, R6
-0a337a0a| BICW R26>>12, R24, R10
-2a71e28a| BIC R2@>28, R9, R10
-c168bf6a| BICSW ZR->26, R6, R1
-d8bb3cea| BICS R28<<46, R30, R24
-82e81795| CALL 18344066(PC)
-40033fd6| CALL (R26)
-c0011fd6| JMP (R14)
-00dd31d4| BRK $36584
-7267db35| CBNZW R18, -74949(PC)
-e44c7fb5| CBNZ R4, 260711(PC)
-9dc4c334| CBZW R29, -123356(PC)
-376eceb4| CBZ R23, -101519(PC)
-a6cb563a| CCMNW GT, R29, $22, $6
-87db55ba| CCMN LE, R28, $21, $7
-a042493a| CCMNW MI, R21, R9, $0
-6a0040ba| CCMN EQ, R3, R0, $10
-46bb5c7a| CCMPW LT, R26, $28, $6
-c72942fa| CCMP HS, R14, $2, $7
-cda1427a| CCMPW GE, R14, R2, $13
-a1314dfa| CCMP LO, R13, R13, $1
-8706931a| CSINCW EQ, R20, R19, R7
-3ae69a9a| CSINC AL, R17, R26, R26
-9e51945a| CSINVW PL, R12, R20, R30
-d5e386da| CSINV AL, R30, R6, R21
-5f3503d5| CLREX $5
-e515c05a| CLSW R15, R5
-a815c0da| CLS R13, R8
-4a12c05a| CLZW R18, R10
-3c10c0da| CLZ R1, R28
-ff70252b| CMNW R5.UXTX<<4, R7
-9fa133ab| CMN R19.SXTH, R12
-3f3a822b| CMNW R2->14, R17
-df1d44ab| CMN R4>>7, R14
-3f95386b| CMPW R24.SXTB<<5, R9
-9f653feb| CMP ZR.UXTX<<1, R12
-1626915a| CSNEGW HS, R16, R17, R22
-b4d587da| CSNEG LE, R13, R7, R20
-9841d41a| CRC32B R20, R12, R24
-ec45d01a| CRC32H R16, R15, R12
-8048ca1a| CRC32W R10, R4, R0
-d44ec19a| CRC32X R1, R22, R20
-1552d31a| CRC32CB R19, R16, R21
-4b54c71a| CRC32CH R7, R2, R11
-245ad41a| CRC32CW R20, R17, R4
-c35cc89a| CRC32CX R8, R6, R3
-14219f1a| CSELW HS, R8, ZR, R20
-9c73979a| CSEL VC, R28, R23, R28
-e7279f1a| CSETW LO, R7
-ec579f9a| CSET MI, R12
-e5f39f5a| CSINVW AL, ZR, ZR, R5
-e8639fda| CSETM VC, R8
-ea76971a| CINCW VS, R23, R10
-78a7859a| CSINC GE, R27, R5, R24
-b590845a| CSINVW LS, R5, R4, R21
-b4029eda| CSINV EQ, R21, R30, R20
-b3969b5a| CSNEGW LS, R21, R27, R19
-938591da| CSNEG HI, R12, R17, R19
-016ea8d4| DCPS1 $17264
-0275a4d4| DCPS2 $9128
-a3e9a6d4| DCPS3 $14157
-bf3903d5| DMB $9
-e003bfd6| DRPS
-9f3e03d5| DSB $14
-50b1a0ca| EON R0->44, R10, R16
-c0b02f52| EORW $1073627134, R6, R0
-4b0c1ed2| EOR $257698037820, R2, R11
-693c074a| EORW R7<<15, R3, R9
-113e1aca| EOR R26<<15, R16, R17
-e0039fd6| ERET
-fef8c693| EXTR $62, R6, R7, R30
-3f2003d5| YIELD
-3f2403d5| HINT $33
-c0425ad4| HLT $53782
-df3003d5| ISB $0
-f7fddf88| LDARW (R15), R23
-96fedfc8| LDAR (R20), R22
-11fedf08| LDARB (R16), R17
-c2fedf48| LDARH (R22), R2
-2d927f88| LDAXPW (R17), (R13, R4)
-198f7fc8| LDAXP (R24), (R25, R3)
-46ff5f88| LDAXRW (R26), R6
-81fe5fc8| LDAXR (R20), R1
-86fe5f08| LDAXRB (R20), R6
-78ff5f48| LDAXRH (R27), R24
-35864a28| LDNPW 84(R17), R1, R21
-6da05fa8| LDNP 504(R3), R8, R13
-a8f9f428| LDP.P -92(R13), (R8, R30)
-b749e3a8| LDP.P -464(R13), (R23, R18)
-bdedd929| LDP.W 204(R13), (R29, R27)
-c8e5c6a9| LDP.W 104(R14), (R8, R25)
-c0857f29| LDP -4(R14), (R0, R1)
-388a6ca9| LDP -312(R17), (R24, R2)
-086be468| LDPSW -224(R24), R26, R8
-d107d269| LDPSW 144(R30), R1, R17
-738e4e69| LDPSW 116(R19), R3, R19
-6ee55fb8| MOVWU.P -2(R11), R14
-233459f8| MOVD.P -109(R1), R3
-919f44b8| MOVWU.W 73(R28), R17
-acdd45f8| MOVD.W 93(R13), R12
-e1cd51b9| MOVWU 4556(R15), R1
-95e27bf9| MOVD 30656(R20), R21
-0c554b38| MOVBU.P 181(R8), R12
-054f5938| MOVBU.W -108(R24), R5
-1f206539| MOVBU 2376(R0), ZR
-73796a38| MOVBU (R11)(R10), R19
-a8b74f78| MOVHU.P 251(R29), R8
-021e5e78| MOVHU.W -31(R16), R2
-ec126b79| MOVHU 5512(R23), R12
-fc5a6178| MOVHU (R23)(R1.UXTW<<1), R28
-eaf6c238| MOVBW.P 47(R23), R10
-87679838| MOVB.P -122(R28), R7
-567fdb38| MOVBW.W -73(R26), R22
-3b2e8138| MOVB.W 18(R17), R27
-7d74c039| MOVBW 29(R3), R29
-7d1f8539| MOVB 327(R27), R29
-225bff38| MOVBW (R25)(ZR.UXTW), R2
-6a7bed38| MOVBW (R27)(R13), R10
-0f69b538| MOVB (R8)(R21), R15
-c796cc78| MOVHW.P 201(R22), R7
-50268e78| MOVH.P 226(R18), R16
-229ddb78| MOVHW.W -71(R9), R2
-0f4f9178| MOVH.W -236(R24), R15
-59ecc379| MOVHW 502(R2), R25
-83d49679| MOVH 2922(R4), R3
-986be878| MOVHW (R28)(R8), R24
-cad8bf78| MOVH (R6)(ZR.SXTW<<1), R10
-6b4693b8| MOVW.P -204(R19), R11
-cb9e81b8| MOVW.W 25(R22), R11
-280d9eb9| MOVW 7692(R9), R8
-1a68b8b8| MOVW (R0)(R24), R26
-35b955b8| LDTRW -165(R9), R21
-658b57f8| LDTR -136(R27), R5
-b3594038| LDTRBW 5(R13), R19
-5ac95d78| LDTRH -36(R10), R26
-2c3ade38| LDTRSBW -29(R17), R12
-4de99038| LDTRSB -242(R10), R13
-e178c378| LDTRSHW 55(R7), R1
-a77a8778| LDTRSH 119(R21), R7
-cde982b8| LDTRSW 46(R14), R13
-04d15bb8| LDURW -67(R8), R4
-02a256f8| LDUR -150(R16), R2
-97405438| LDURBW -188(R4), R23
-99b14b78| LDURHW 187(R12), R25
-f9a1cf38| LDURSBW 250(R15), R25
-c0218c38| LDURSB 194(R14), R0
-5790d278| LDURSHW -215(R2), R23
-a3808278| LDURSH 40(R5), R3
-a9b08fb8| LDURSW 251(R5), R9
-98217f88| LDXPW (R12), (R24, R8)
-4d6a7fc8| LDXP (R18), (R13, R26)
-9c7e5f88| LDXRW (R20), R28
-0e7c5fc8| LDXR (R0), R14
-507c5f08| LDXRB (R2), R16
-ea7f5f48| LDXRH (RSP), R10
-5523dd1a| LSLW R29, R26, R21
-9721ca9a| LSL R10, R12, R23
-75665bd3| UBFIZ $37, R19, $26, R21
-0a20df1a| LSLW ZR, R0, R10
-5222c99a| LSL R9, R18, R18
-5124df1a| LSRW ZR, R2, R17
-6b26d69a| LSR R22, R19, R11
-9a7c0753| LSRW $7, R4, R26
-7bfd53d3| LSR $19, R11, R27
-5f26d91a| LSRW R25, R18, ZR
-3625d89a| LSR R24, R9, R22
-9d76001b| MADDW R0, R29, R20, R29
-822f0e9b| MADD R14, R11, R28, R2
-e8fe101b| MNEGW R16, R23, R8
-88fc099b| MNEG R9, R4, R8
-dd030011| ADDW $0, R30, R29
-db010091| ADD $0, R14, R27
-0c6db012| MOVW $2090336255, R12
-3ff5aa92| MOVD $-1470693377, ZR
-87f0f6d2| MOVD $-5223049667842932736, R7
-f3571132| ORRW $4294934559, ZR, R19
-f3bb0bb2| MOVD $-4503668347895825, R19
-f103082a| MOVW R8, R17
-ef031faa| MOVD ZR, R15
-4a6bf5f2| MOVK $(43866<<48), R10
-383b9312| MOVW $4294927910, R24
-f5fb9092| MOVD $-34784, R21
-d5b4b052| MOVW $2242248704, R21
-fdc5eed2| MOVD $8516025420380897280, R29
-c58435d5| MRS $11302, R5
-1a0f13d5| MSR R26, S2_3_C0_C15_0
-52d5181b| MSUBW R24, R21, R10, R18
-c4f81d9b| MSUB R29, R30, R6, R4
-a57c1b1b| MULW R27, R5, R5
-8f7f0a9b| MUL R10, R28, R15
-e75361aa| MVN R1>>20, R7
-e0cb15cb| NEG R21<<50, R0
-ffdb49eb| CMP R9>>54, ZR
-f5031c5a| NGCW R28, R21
-e6031eda| NGC R30, R6
-e103077a| NGCSW R7, R1
-f20301fa| NGCS R1, R18
-1f2003d5| NOP
-9347722a| ORNW R18>>17, R28, R19
-0591e1aa| ORN R1@>36, R8, R5
-7ba82a32| ORRW $4290904001, R3, R27
-ae087db2| ORR $56, R5, R14
-9608472a| ORRW R7>>2, R4, R22
-c40dc5aa| ORR R5@>3, R14, R4
-9d83bcf9| PRFM 30976(R28), $29
-78ab03d8| PRFM 7515(PC), $24
-6e9186f8| PRFUM 105(R11), $14
-c001c05a| RBITW R14, R0
-4203c0da| RBIT R26, R2
-c0035fd6| RET
-9b08c05a| REVW R4, R27
-740cc0da| REV R3, R20
-0205c05a| REV16W R8, R2
-dd07c0da| REV16 R30, R29
-020bc0da| REV32 R24, R2
-780cc0da| REV R3, R24
-9b7f9513| EXTRW $31, R21, R28, R27
-5243dd93| EXTR $16, R29, R26, R18
-822eca1a| RORW R10, R20, R2
-f02ddb9a| ROR R27, R15, R16
-082ed81a| RORW R24, R16, R8
-7b2cc39a| ROR R3, R3, R27
-3b030b5a| SBCW R11, R25, R27
-f2021dda| SBC R29, R23, R18
-e600127a| SBCSW R18, R7, R6
-cf030ffa| SBCS R15, R30, R15
-3a797793| SBFIZ $9, R9, $31, R26
-4a305193| SBFIZ $47, R2, $13, R10
-a1c74493| SBFX $4, R29, $46, R1
-a00fc01a| SDIVW R0, R29, R0
-f10edd9a| SDIV R29, R23, R17
-9f2003d5| SEV
-bf2003d5| SEVL
-a52d319b| SMADDL R17, R11, R13, R5
-b4fc399b| SMNEGL R25, R5, R20
-579e369b| SMSUBL R22, R7, R18, R23
-ea7e429b| SMULH R2, R23, R10
-eb7f219b| SMULL R1, ZR, R11
-f1fe9f88| STLRW R17, (R23)
-edff9fc8| STLR R13, (RSP)
-bffe9f08| STLRB ZR, (R21)
-9cfd9f48| STLRH R28, (R12)
-41bf2688| STLXPW (R1, R15), (R26), R6
-01e93cc8| STLXP (R1, R26), (R8), R28
-e0fd1f88| STLXRW R0, (R15), ZR
-12fe17c8| STLXR R18, (R16), R23
-d4fc1008| STLXRB R20, (R6), R16
-befc0048| STLXRH R30, (R5), R0
-76613728| STNPW -72(R11), R24, R22
-c7523ba8| STNP -80(R22), R20, R7
-8e3a9f28| STP.P (R14, R14), 248(R20)
-aa1fa6a8| STP.P (R10, R7), -416(R29)
-fbae8d29| STP.W (R27, R11), 108(R23)
-f63c80a9| STP.W (R22, R15), (R7)
-43d73629| STP (R3, R21), -76(R26)
-1ae01ba9| STP (R26, R24), 440(R0)
-8f650cb8| MOVW.P R15, 198(R12)
-aad503f8| MOVD.P R10, 61(R13)
-ec4d00b8| MOVW.W R12, 4(R15)
-7dbc1df8| MOVD.W R29, -37(R3)
-9b0226b9| MOVW R27, 9728(R20)
-91691af9| MOVD R17, 13520(R12)
-20840838| MOVB.P R0, 136(R1)
-060c1f38| MOVB.W R6, -16(R0)
-2b213a39| MOVB R11, 3720(R9)
-ab6b3438| MOVB R11, (R29)(R20)
-50e51e78| MOVH.P R16, -18(R10)
-5d5d1878| MOVH.W R29, -123(R10)
-ea862379| MOVH R10, 4546(R23)
-d65a2778| MOVH R22, (R22)(R7.UXTW<<1)
-d5ca12b8| STTRW -212(R22), R21
-001b18f8| STTR -127(R24), R0
-290a1e38| STTRBW -32(R17), R9
-0b381078| STTRHW -253(R0), R11
-c78101b8| MOVW R7, 24(R14)
-c0b217f8| MOVD R0, -133(R22)
-f8401e38| MOVB R24, -28(R7)
-5e911a78| MOVH R30, -87(R10)
-b7622d88| STXPW (R23, R24), (R21), R13
-233d37c8| STXP (R3, R15), (R9), R23
-847d0088| STXRW R4, (R12), R0
-a27d0bc8| STXR R2, (R13), R11
-f27f1e08| STXRB R18, (RSP), R30
-3a7d1848| STXRH R26, (R9), R24
-d4dc204b| SUBW R0.SXTW<<7, R6, R20
-874023cb| SUB R3.UXTW, R4, R7
-44eb4f51| SUBW $(1018<<12), R26, R4
-17b012cb| SUB R18<<44, R0, R23
-ac1e376b| SUBSW R23.UXTB<<7, R21, R12
-b0483beb| SUBS R27.UXTW<<2, R5, R16
-d1f994eb| SUBS R20->62, R14, R17
-61d513d4| SVC $40619
-591d0013| SXTBW R10, R25
-9f1f4093| SXTB R28, ZR
-773f0013| SXTHW R27, R23
-453c4093| SXTH R2, R5
-b77c4093| SXTW R5, R23
-743628d5| SYSL $13920, R20
-9f613672| TSTW $4294966279, R12
-1f8d22f2| TST $-4610630471158349821, R8
-ff6e93ea| TST R19->27, R23
-06997ed3| UBFIZ $2, R8, $39, R6
-5dd054d3| UBFX $20, R2, $33, R29
-a54273d3| UBFIZ $13, R21, $17, R5
-7d08d11a| UDIVW R17, R3, R29
-120acf9a| UDIV R15, R16, R18
-1401a89b| UMADDL R8, R0, R8, R20
-08feb29b| UMNEGL R18, R16, R8
-eeb0b99b| UMSUBL R25, R12, R7, R14
-967fdd9b| UMULH R29, R28, R22
-947eb59b| UMULL R21, R20, R20
-7e1f0053| UXTBW R27, R30
-983c0053| UXTHW R4, R24
-5f2003d5| WFE
-7f2003d5| WFI
-3f2003d5| YIELD
-02bb200e| VABS V24.B8, V2.B8
-0686ec4e| VADD V12.D2, V16.D2, V6.D2
-ea42ac0e| VADDHN V12.D2, V23.D2, V10.S2
-7d43624e| VADDHN2 V2.S4, V27.S4, V29.H8
-2cbd710e| VADDP V17.H4, V9.H4, V12.H4
-f5bab14e| VADDV V23.S4, V21
-8158284e| AESD V4.B16, V1.B16
-ba48284e| AESE V5.B16, V26.B16
-0c7a284e| AESIMC V16.B16, V12.B16
-3e6a284e| AESMC V17.B16, V30.B16
-091f384e| VAND V24.B16, V24.B16, V9.B16
-07b6046f| VBIC $(144<<8), V7.H8
-00c5006f| VMVNI $(8<<136), V0.S4
-f81e6c0e| VBIC V12.B8, V23.B8, V24.B8
-6f1ced2e| VBIF V13.B8, V3.B8, V15.B8
-e31da16e| VBIT V1.B16, V15.B16, V3.B16
-6a1d7c6e| VBSL V28.B16, V11.B16, V10.B16
-284a600e| VCLS V17.H4, V8.H4
-9a49202e| VCLZ V12.B8, V26.B8
-d78f706e| VCMEQ V16.H8, V30.H8, V23.H8
-7798e05e| VCMEQ $0, V3, V23
-739a200e| VCMEQ $0, V19.B8, V19.B8
-ff3f2b4e| VCMGE V11.B16, V31.B16, V31.B16
-5337370e| VCMGT V23.B8, V26.B8, V19.B8
-3489604e| VCMGT $0, V9.H8, V20.H8
-083d782e| VCMHS V24.H4, V8.H4, V8.H4
-c899e07e| VCMLE $0, V14, V8
-3498a06e| VCMLE $0, V1.S4, V20.S4
-ebaa200e| VCMLT $0, V23.B8, V11.B8
-408dfe4e| VCMTST V30.D2, V10.D2, V0.D2
-0e06085e| VMOV V16.D[0], V14
-1e0d0d0e| VDUP R8, V30.B8
-8e1d3a6e| VEOR V26.B16, V12.B16, V14.B16
-632a086e| VEXT $5, V8.B16, V19.B16, V3.B16
-97d7e57e| FABD F5, F28, F23
-6bd4a82e| VFABD V8.S2, V3.S2, V11.S2
-f7faa00e| FABS V23.S2, V23.S2
-54c2201e| FABSS F18, F20
-3ec3601e| FABSD F25, F30
-2aee317e| FACGE F17, F17, F10
-2fed392e| VFACGE V25.S2, V9.S2, V15.S2
-2befe97e| FACGT F9, F25, F11
-65eced6e| VFACGT V13.D2, V3.D2, V5.D2
-55d53c4e| FADD V28.S4, V10.S4, V21.S4
-8b283f1e| FADDS F31, F4, F11
-d828601e| FADDD F0, F6, F24
-e9d8307e| FADDP V7.S2, F9
-4084391e| FCCMPS HI, F25, F2, $0
-ef046d1e| FCCMPD EQ, F13, F7, $15
-d7a4241e| FCCMPES GE, F4, F6, $7
-dbf5601e| FCCMPED AL, F0, F14, $11
-77e7625e| FCMEQ F2, F27, F23
-2de67f4e| VFCMEQ V31.D2, V17.D2, V13.D2
-59daa05e| FCMEQ $0, F18, F25
-add9a00e| VFCMEQ $0, V13.S2, V13.S2
-dce42d7e| FCMGE F13, F6, F28
-62e6776e| VFCMGE V23.D2, V19.D2, V2.D2
-f9cae07e| FCMGE $0, F23, F25
-18e5ab7e| FCMGT F11, F8, F24
-84e7ae6e| VFCMGT V14.S4, V28.S4, V4.S4
-a0c8e05e| FCMGT $0, F5, F0
-c6cae04e| VFCMGT $0, V22.D2, V6.D2
-4fdaa07e| FCMLE $0, F18, F15
-e1d9a02e| VFCMLE $0, V15.S2, V1.S2
-1ee9a05e| FCMLT $0, F8, F30
-23eaa04e| VFCMLT $0, V17.S4, V3.S4
-6023321e| FCMPS F18, F27
-2823391e| FCMPS $(0.0), F25
-00236d1e| FCMPD F13, F24
-e820601e| FCMPD $(0.0), F7
-3022381e| FCMPES F24, F17
-f8233e1e| FCMPES $(0.0), F31
-b0206a1e| FCMPED F10, F5
-3820691e| FCMPED $(0.0), F1
-d85f271e| FCSELS PL, F30, F7, F24
-ed8f7a1e| FCSELD HI, F31, F26, F13
-0042e21e| FCVTHS F16, F0
-efc1e21e| FCVTHD F15, F15
-edc1231e| FCVTSH F15, F13
-0ac0221e| FCVTSD F0, F10
-39c3631e| FCVTDH F25, F25
-da43621e| FCVTDS F30, F26
-10cb615e| FCVTAS F24, F16
-f400241e| FCVTASW F7, R20
-2f00249e| FCVTAS F1, R15
-1d02641e| FCVTASW F16, R29
-9303649e| FCVTAS F28, R19
-02ca217e| FCVTAU F16, F2
-afc8212e| VFCVTAU V5.S2, V15.S2
-6e02251e| FCVTAUW F19, R14
-fd02259e| FCVTAU F23, R29
-8603651e| FCVTAUW F28, R6
-4001659e| FCVTAU F10, R0
-1f78210e| VFCVTL V0.H4, V31.S4
-d179214e| VFCVTL2 V14.H8, V17.S4
-fdbb615e| FCVTMS F31, F29
-9601301e| FCVTMSW F12, R22
-f403309e| FCVTMS F31, R20
-6b02701e| FCVTMSW F19, R11
-4802709e| FCVTMS F18, R8
-84ba217e| FCVTMU F20, F4
-ae01311e| FCVTMUW F13, R14
-8402319e| FCVTMU F20, R4
-7403711e| FCVTMUW F27, R20
-2a03719e| FCVTMU F25, R10
-a36b210e| VFCVTN V29.S4, V3.H4
-5c6a214e| VFCVTN2 V18.S4, V28.H8
-78a9215e| FCVTNS F11, F24
-b1ab614e| VFCVTNS V29.D2, V17.D2
-0c01201e| FCVTNSW F8, R12
-b303209e| FCVTNS F29, R19
-c401601e| FCVTNSW F14, R4
-5200609e| FCVTNS F2, R18
-c2a8617e| FCVTNU F6, F2
-daab616e| VFCVTNU V30.D2, V26.D2
-d001211e| FCVTNUW F14, R16
-0402219e| FCVTNU F16, R4
-7800611e| FCVTNUW F3, R24
-e602619e| FCVTNU F23, R6
-74aaa15e| FCVTPS F19, F20
-c801281e| FCVTPSW F14, R8
-8f02289e| FCVTPS F20, R15
-6d02681e| FCVTPSW F19, R13
-bc00689e| FCVTPS F5, R28
-43aba17e| FCVTPU F26, F3
-cda9a12e| VFCVTPU V14.S2, V13.S2
-c102291e| FCVTPUW F22, R1
-9103299e| FCVTPU F28, R17
-7602691e| FCVTPUW F19, R22
-4501699e| FCVTPU F10, R5
-976a616e| VFCVTXN2 V20.D2, V23.S4
-d5fc575f| FCVTZS $41, F6, F21
-babaa15e| FCVTZSSS F21, F26
-7aa6181e| FCVTZS $23, F19, R26
-c410189e| FCVTZS $60, F6, R4
-4db5589e| FCVTZS $19, F10, R13
-9000381e| FCVTZSSW F4, R16
-1702389e| FCVTZSS F16, R23
-8a03781e| FCVTZSDW F28, R10
-d501789e| FCVTZSD F14, R21
-eefd2d7f| FCVTZU $19, F15, F14
-4dfc3c6f| FCVTZU $4, V2.S4, V13.S4
-96bbe17e| FCVTZUDD F28, F22
-30b8e16e| FCVTZU V1.D2, V16.D2
-fdef191e| FCVTZU $5, F31, R29
-1d7b199e| FCVTZU $34, F24, R29
-b8f5591e| FCVTZU $3, F13, R24
-5080599e| FCVTZU $32, F2, R16
-d002391e| FCVTZUSW F22, R16
-9b03399e| FCVTZUS F28, R27
-7501791e| FCVTZUDW F11, R21
-7603799e| FCVTZUD F27, R22
-06fe3c6e| FDIV V28.S4, V16.S4, V6.S4
-c41b201e| FDIVS F0, F30, F4
-1618781e| FDIVD F24, F0, F22
-507b0d1f| FMADDS F13, F30, F26, F16
-8803491f| FMADDD F9, F0, F28, F8
-75f7394e| FMAX V25.S4, V27.S4, V21.S4
-804b3c1e| FMAXS F28, F28, F0
-c1496c1e| FMAXD F12, F14, F1
-5b69371e| FMAXNMS F23, F10, F27
-1468711e| FMAXNMD F17, F0, F20
-a4c8707e| FMAXNMP V5.D2, F4
-89f9707e| FMAXP V12.D2, F9
-4af63e2e| VFMAXP V30.S2, V18.S2, V10.S2
-25fa306e| FMAXV V17.S4, F5
-01f4e04e| FMIN V0.D2, V0.D2, V1.D2
-59592a1e| FMINS F10, F10, F25
-3959611e| FMIND F1, F9, F25
-73c7ba4e| FMINNM V26.S4, V27.S4, V19.S4
-1279391e| FMINNMS F25, F8, F18
-75796c1e| FMINNMD F12, F11, F21
-90cbb07e| FMINNMP V28.S2, F16
-c5c8b06e| FMINNMV V6.S4, F5
-cdfbf07e| FMINP V30.D2, F13
-edf6f66e| VFMINP V22.D2, V23.D2, V13.D2
-6513b85f| FMLA V24.S[1], F27, F5
-ee18984f| VFMLA V24.S[2], V7.S4, V14.S4
-b85ab75f| FMLS V23.S[3], F21, F24
-a3f5030f| FMOV $0.90625, V3.S2
-eaf7056f| FMOV $-31., V10.D2
-3b41201e| FMOVS F9, F27
-0d41601e| FMOVD F8, F13
-9700271e| FMOVS R4, F23
-ad03261e| FMOVS F29, R13
-2302679e| FMOVD R17, F3
-e101af9e| FMOV R15, V1.D[1]
-f301669e| FMOVD F15, R19
-1103ae9e| FMOV V24.D[1], R17
-0230321e| FMOVS $-4.25, F2
-18b0751e| FMOVD $-14.5, F24
-92bc1b1f| FMSUBS F27, F15, F4, F18
-f8e14a1f| FMSUBD F10, F24, F15, F24
-ef91d35f| FMULD V19.D[0], F15, F15
-d293c24f| FMUL V2.D[0], V30.D2, V18.D2
-18dd2b2e| FMUL V11.S2, V8.S2, V24.S2
-a4093d1e| FMULS F29, F13, F4
-94096f1e| FMULD F15, F12, F20
-fe918e7f| FMULX V14.S[0], F15, F30
-7199c56f| VFMULX V5.D[1], V11.D2, V17.D2
-32dc695e| FMULX F9, F1, F18
-c8f9e06e| FNEG V14.D2, V8.D2
-9c41211e| FNEGS F12, F28
-c443611e| FNEGD F30, F4
-e77f301f| FNMADDS F16, F31, F31, F7
-9f326c1f| FNMADDD F12, F12, F20, F31
-d9e92f1f| FNMSUBS F15, F26, F14, F25
-00ad711f| FNMSUBD F17, F11, F8, F0
-c889211e| FNMULS F1, F14, F8
-528b761e| FNMULD F22, F26, F18
-01d8e15e| FRECPE F0, F1
-9aff7e5e| FRECPS F30, F28, F26
-78fe2a4e| VFRECPS V10.S4, V19.S4, V24.S4
-01f9e15e| FRECPX F8, F1
-128b216e| FRINTA V24.S4, V18.S4
-b241261e| FRINTAS F13, F18
-a841661e| FRINTAD F13, F8
-799aa16e| FRINTI V19.S4, V25.S4
-1cc2271e| FRINTIS F16, F28
-93c2671e| FRINTID F20, F19
-1a40251e| FRINTMS F0, F26
-ac42651e| FRINTMD F21, F12
-5889214e| FRINTN V10.S4, V24.S4
-5740241e| FRINTNS F2, F23
-9443641e| FRINTND F28, F20
-4b89a10e| FRINTP V10.S2, V11.S2
-a0c1241e| FRINTPS F13, F0
-93c2641e| FRINTPD F20, F19
-d49b216e| FRINTX V30.S4, V20.S4
-df41271e| FRINTXS F14, F31
-8d41671e| FRINTXD F12, F13
-3998a10e| FRINTZ V1.S2, V25.S2
-fdc2251e| FRINTZS F23, F29
-abc2651e| FRINTZD F21, F11
-10dba17e| FRSQRTE F24, F16
-edd9e16e| VFRSQRTE V15.D2, V13.D2
-75ffe35e| FRSQRTS F3, F27, F21
-b4fdbe4e| VFRSQRTS V30.S4, V13.S4, V20.S4
-24f8a16e| FSQRT V1.S4, V4.S4
-b6c1211e| FSQRTS F13, F22
-c1c3611e| FSQRTD F30, F1
-ffd5b44e| FSUB V20.S4, V15.S4, V31.S4
-d438331e| FSUBS F19, F6, F20
-f038771e| FSUBD F23, F7, F16
-675e1a6e| VMOV V19.H[5], V7.H[6]
-2a1c0a4e| VMOV R1, V10.H[2]
-de7f400c| VLD1 (R30), [V30.D1]
-4aa7404c| VLD1 (R26), [V10.H8, V11.H8]
-5d61400c| VLD1 (R10), [V29.B8, V30.B8, V31.B8]
-af21404c| VLD1 (R13), [V15.B16, V16.B16, V17.B16, V18.B16]
-737edf0c| VLD1.P 8(R19), [V19.D1]
-757dd10c| VLD1.P (R11)(R17), [V21.D1]
-5ca3df4c| VLD1.P 32(R26), [V28.B16, V29.B16]
-93a1ce0c| VLD1.P (R12)(R14), [V19.B8, V20.B8]
-1c65df0c| VLD1.P 24(R8), [V28.H4, V29.H4, V30.H4]
-4461d34c| VLD1.P (R10)(R19), [V4.B16, V5.B16, V6.B16]
-b22edf4c| VLD1.P 64(R21), [V18.D2, V19.D2, V20.D2, V21.D2]
-c12fcc4c| VLD1.P (R30)(R12), [V1.D2, V2.D2, V3.D2, V4.D2]
-5a03400d| VLD1 (R26), V26.B[0]
-8d93404d| VLD1 (R28), V13.S[3]
-2186404d| VLD1 (R17), V1.D[1]
-9604df4d| VLD1.P 1(R4), V22.B[9]
-4a1dc94d| VLD1.P (R10)(R9), V10.B[15]
-4852df4d| VLD1.P 2(R18), V8.H[6]
-2582df4d| VLD1.P 4(R17), V5.S[2]
-2191c84d| VLD1.P (R9)(R8), V1.S[3]
-c284df4d| VLD1.P 8(R6), V2.D[1]
-8f85ce0d| VLD1.P (R12)(R14), V15.D[0]
-87cd400d| VLD1R (R12), [V7.D1]
-3bc8df4d| VLD1R 4(R1), [V27.S4]
-77c4dd4d| VLD1R (R3)(R29), [V23.H8]
-5384404c| VLD2 (R2), [V19.H8, V20.H8]
-ca87df0c| VLD2 16(R30), [V10.H4, V11.H4]
-1280d70c| VLD2 (R0)(R23), [V18.B8, V19.B8]
-4c0a604d| LD2 (R18), [V12.B, V13.B][10]
-3080600d| LD2 (R1), [V16.S, V17.S][0]
-6686600d| LD2 (R19), [V6.D, V7.D][0]
-061eff0d| LD2 2(R16), [V6.B, V7.B][7]
-db05fa0d| LD2 (R14)(R26), [V27.B, V28.B][1]
-8a49ff4d| LD2 4(R12), [V10.H, V11.H][5]
-bb59ec4d| LD2 (R13)(R12), [V27.H, V28.H][7]
-5a82ff0d| LD2 8(R18), [V26.S, V27.S][0]
-6180e30d| LD2 (R3)(R3), [V1.S, V2.S][0]
-6485ff0d| LD2 16(R11), [V4.D, V5.D][0]
-7c86ed4d| LD2 (R19)(R13), [V28.D, V29.D][1]
-54c0604d| VLD2R (R2), [V20.B16, V21.B16]
-fdcaff0d| VLD2R 8(R23), [V29.S2, V30.S2]
-7bc5e40d| VLD2R (R11)(R4), [V27.H4, V28.H4]
-b349404c| VLD3 (R13), [V19.S4, V20.S4, V21.S4]
-cf46df4c| VLD3 48(R22), [V15.H8, V16.H8, V17.H8]
-934acc4c| VLD3 (R20)(R12), [V19.S4, V20.S4, V21.S4]
-2c33404d| LD3 (R25), [V12.B, V13.B, V14.B][12]
-897a400d| LD3 (R20), [V9.H, V10.H, V11.H][3]
-f9b2400d| LD3 (R23), [V25.S, V26.S, V27.S][1]
-4aa7404d| LD3 (R26), [V10.D, V11.D, V12.D][1]
-4e25df4d| LD3 3(R10), [V14.B, V15.B, V16.B][9]
-7827c40d| LD3 (R27)(R4), [V24.B, V25.B, V26.B][1]
-c4a3df4d| LD3 12(R30), [V4.S, V5.S, V6.S][2]
-f0a1cf0d| LD3 (R15)(R15), [V16.S, V17.S, V18.S][0]
-1ba7df0d| LD3 24(R24), [V27.D, V28.D, V29.D][0]
-f7a7d50d| LD3 (RSP)(R21), [V23.D, V24.D, V25.D][0]
-a9ed404d| VLD3R (R13), [V9.D2, V10.D2, V11.D2]
-5aecdf4d| VLD3R 24(R2), [V26.D2, V27.D2, V28.D2]
-bae9c74d| VLD3R (R13)(R7), [V26.S4, V27.S4, V28.S4]
-5904404c| VLD4 (R2), [V25.H8, V26.H8, V27.H8, V28.H8]
-743b604d| LD4 (R27), [V20.B, V21.B, V22.B, V23.B][14]
-bda1600d| LD4 (R13), [V29.S, V30.S, V31.S, V0.S][0]
-a3a4600d| LD4 (R5), [V3.D, V4.D, V5.D, V6.D][0]
-2f3aff4d| LD4 4(R17), [V15.B, V16.B, V17.B, V18.B][14]
-e73bef4d| LD4 (RSP)(R15), [V7.B, V8.B, V9.B, V10.B][14]
-5d78ef0d| LD4 (R2)(R15), [V29.H, V30.H, V31.H, V0.H][3]
-acb3ff0d| LD4 16(R29), [V12.S, V13.S, V14.S, V15.S][1]
-a8b2f04d| LD4 (R21)(R16), [V8.S, V9.S, V10.S, V11.S][3]
-75a7ff4d| LD4 32(R27), [V21.D, V22.D, V23.D, V24.D][1]
-75a6ee4d| LD4 (R19)(R14), [V21.D, V22.D, V23.D, V24.D][1]
-d8e3604d| VLD4R (R30), [V24.B16, V25.B16, V26.B16, V27.B16]
-49e9ff0d| VLD4R 16(R10), [V9.S2, V10.S2, V11.S2, V12.S2]
-81effc0d| VLD4R (R28)(R28), [V1.D1, V2.D1, V3.D1, V4.D1]
-893e622c| VLDNP -240(R20), V15, V9
-f90e626c| VLDNP -480(R23), V3, V25
-b0224fac| VLDNP 480(R21), V8, V16
-9186de2c| LDP.P 244(R20), (V17, V1)
-e820d06c| LDP.P 256(R7), (V8, V8)
-417de8ac| LDP.P -768(R10), (V1, V31)
-7969ed2d| LDP.W -152(R11), (V25, V26)
-70c8c36d| LDP.W 56(R3), (V16, V18)
-30b4c4ad| LDP.W 144(R1), (V16, V13)
-a1857f2d| LDP -4(R13), (V1, V1)
-f4ae786d| LDP -120(R23), (V20, V11)
-998366ad| LDP -816(R28), (V25, V0)
-7535453c| MOVD.P 83(R11), V21
-5465477c| MOVD.P 118(R10), V20
-a2b44bbc| FMOVS.P 187(R5), F2
-ab045bfc| FMOVD.P -80(R5), F11
-0515d43c| MOVD.P -191(R8), V5
-43ad413c| MOVD.W 26(R10), V3
-22cd4f7c| MOVD.W 252(R9), V2
-5fad44bc| FMOVS.W 74(R10), F31
-db7d5afc| FMOVD.W -89(R14), F27
-15ccd63c| MOVD.W -148(R0), V21
-95c34b3d| MOVD 752(R28), V21
-f5885e7d| MOVD 3908(R7), V21
-54db66bd| FMOVS 9944(R26), F20
-46ee78fd| FMOVD 29144(R18), F6
-0cc4e93d| MOVD 42768(R0), V12
-e1c4211c| FMOVS 69159(PC), F1
-2071c35c| FMOVD -124023(PC), F0
-ae79703c| MOVD (R13)(R16), V14
-38fb67bc| FMOVS (R25)(R7.SXTX<<2), F24
-3e6b6dfc| FMOVD (R25)(R13), F30
-a278ff3c| MOVD (R5)(ZR<<4), V2
-ed02563c| VLDUR -160(R23), V13
-01c0507c| VLDUR -244(R0), V1
-7fd24ebc| VLDUR 237(R19), V31
-7a734ffc| VLDUR 247(R27), V26
-d4a3dd3c| VLDUR -38(R30), V20
-1c97250e| VMLA V5.B8, V24.B8, V28.B8
-af97a12e| VMLS V1.S2, V29.S2, V15.S2
-2b061f5e| VMOV V17.B[15], V11
-805e086e| VMOV V20.D[1], V0.D[0]
-d91fbc4e| VORR V28.B16, V30.B16, V25.B16
-a43f040e| VMOV V29.S[0], R4
-fbe6054f| VMOVI $183, V27.B16
-9b75024f| VORR $(76<<24), V27.S4
-8436020f| VORR $(84<<8), V4.S2
-19f5010f| FMOV $12., V25.S2
-02e5062f| VMOVI $-281470698520576, V2
-d6e5066f| VMOVI $-281470681743616, V22.D2
-be9c240e| VMUL V4.B8, V5.B8, V30.B8
-2659202e| VMVN V9.B8, V6.B8
-f394046f| VBIC $135, V19.H8
-d856056f| VBIC $(182<<16), V24.S4
-2f85022f| VMVNI $73, V15.H4
-24baa02e| VNEG V17.S2, V4.S2
-145b206e| VMVN V24.B16, V20.B16
-191fff4e| VORN V31.B16, V24.B16, V25.B16
-6f96004f| VORR $19, V15.H8
-a564020f| VMOVI $(69<<24), V5.S2
-ae1ead0e| VORR V13.B8, V21.B8, V14.B8
-f2e1e00e| VPMULL V0.D1, V15.D1, V18.Q1
-0d426e2e| VRADDHN V14.S4, V16.S4, V13.H4
-4443246e| VRADDHN2 V4.H8, V26.H8, V4.B16
-015b602e| VRBIT V24.B8, V1.B8
-4209202e| VREV32 V10.B8, V2.B8
-d109a04e| VREV64 V14.S4, V17.S4
-5a8e380f| VRSHRN $8, V18.D2, V26.S2
-438d234f| VRSHRN2 $29, V10.D2, V3.S4
-a861716e| VRSUBHN2 V17.S4, V13.S4, V8.H8
-017c2f0e| VSABA V15.B8, V0.B8, V1.B8
-5d51a90e| VSABAL V9.S2, V10.S2, V29.D2
-c076a04e| VSABD V0.S4, V22.S4, V0.S4
-2d722e0e| VSABDL V14.B8, V17.B8, V13.H8
-1f732e4e| VSABDL2 V14.B16, V24.B16, V31.H8
-c628604e| VSADDLP V6.H8, V6.S4
-103b704e| VSADDLV V24.H8, V16
-8f122f0e| VSADDW V15.B8, V20.H8, V15.H8
-30e6755f| SCVTF $11, F17, F16
-73e7544f| SCVTF $44, V27.D2, V19.D2
-51d9615e| SCVTFDD F10, F17
-fad9210e| SCVTF V15.S2, V26.S2
-96c0421e| SCVTF $16, R4, F22
-76e1029e| SCVTF $8, R11, F22
-a791429e| SCVTF $28, R13, F7
-f100221e| SCVTFWS R7, F17
-e101621e| SCVTFWD R15, F1
-6e03229e| SCVTFS R27, F14
-0b01629e| SCVTFD R8, F11
-2401025e| SHA1C V2.S4, V9, V4
-5d08285e| SHA1H V2, V29
-65210d5e| SHA1M V13.S4, V11, V5
-29131a5e| SHA1P V26.S4, V25, V9
-2b311a5e| SHA1SU0 V26.S4, V9.S4, V11.S4
-0919285e| SHA1SU1 V8.S4, V9.S4
-f052035e| SHA256H2 V3.S4, V23, V16
-fe401e5e| SHA256H V30.S4, V7, V30
-7529285e| SHA256SU0 V11.S4, V21.S4
-cc60195e| SHA256SU1 V25.S4, V6.S4, V12.S4
-8b56060f| VORR $(212<<16), V11.S2
-3f3aa16e| VSHLL2 $32, V17.S4, V31.D2
-0986394f| VSHRN2 $7, V16.D2, V9.S4
-35276e4e| VSHSUB V14.H8, V25.H8, V21.H8
-e2556d7f| VSLI $45, V15, V2
-f7541e6f| VSLI $14, V7.H8, V23.H8
-3167630e| VSMAX V3.H4, V25.H4, V17.H4
-68a6230e| VSMAXP V3.B8, V19.B8, V8.B8
-a4aa304e| VSMAXV V21.B16, V4
-2520440f| VSMLAL V4.H[0], V1.H4, V5.S4
-8c286f4f| VSMLAL2 V15.H[6], V4.H8, V12.S4
-3a82660e| VSMLAL V6.H4, V17.H4, V26.S4
-d92f1f0e| SMOVW V30.B[15], R25
-912d114e| SMOV V12.B[8], R17
-b87ae05e| VSQABS V21, V24
-2d7b200e| VSQABS V25.B8, V13.B8
-560f645e| VSQADD V4, V26, V22
-4f0da54e| VSQADD V5.S4, V10.S4, V15.S4
-5992ba5e| VSQDMLAL V26, V18, V25
-b892684e| VSQDMLAL2 V8.H8, V21.H8, V24.S4
-63786e5f| VSQDMLSL V14.H[6], V3, V3
-0c79a10f| VSQDMLSL V1.S[3], V8.S2, V12.D2
-1d73504f| VSQDMLSL2 V0.H[1], V24.H8, V29.S4
-6cb36c5e| VSQDMLSL V12, V27, V12
-82b36e4e| VSQDMLSL2 V14.H8, V28.H8, V2.S4
-8dca5d4f| VSQDMULH V13.H[5], V20.H8, V13.H8
-fcb6b64e| VSQDMULH V22.S4, V23.S4, V28.S4
-d6b0974f| VSQDMULL2 V23.S[0], V6.S4, V22.D2
-afd0b84e| VSQDMULL2 V24.S4, V5.S4, V15.D2
-067b207e| VSQNEG V24, V6
-9979606e| VSQNEG V12.H8, V25.H8
-bfdbae0f| VSQRDMULH V14.S[3], V29.S2, V31.S2
-c3b7a07e| VSQRDMULH V0, V30, V3
-845d3d5e| VSQRSHL V29, V12, V4
-495dba0e| VSQRSHL V26.S2, V10.S2, V9.S2
-fa8e0d7f| VSQRSHRUN $3, V23, V26
-cf75185f| VSQSHL $8, V14, V15
-a975250f| VSQSHL $5, V13.S2, V9.S2
-424da05e| VSQSHL V0, V10, V2
-464db90e| VSQSHL V25.S2, V10.S2, V6.S2
-af656d7f| VSQSHLU $45, V13, V15
-e564436f| VSQSHLU $3, V7.D2, V5.D2
-c1973b5f| VSQSHRN $5, V30, V1
-d586036f| VMVNI $118, V21.H8
-4c2ea95e| VSQSUB V9, V18, V12
-df2efe4e| VSQSUB V30.D2, V22.D2, V31.D2
-c149a10e| VSQXTN V14.D2, V1.S2
-712a217e| VSQXTUN V19, V17
-9a29a12e| VSQXTUN V12.D2, V26.S2
-6a166e0e| VSRHADD V14.H4, V19.H4, V10.H4
-0445647f| VSRI $28, V8, V4
-6f44172f| VSRI $9, V3.H4, V15.H4
-cd56f94e| VSRSHL V25.D2, V22.D2, V13.D2
-12345b5f| VSRSRA $37, V0, V18
-f746fa5e| VSSHL V26, V23, V23
-89476c4e| VSSHL V12.H8, V28.H8, V9.H8
-0da60e0f| VSSHLL $6, V16.B8, V13.H8
-a504585f| VSSHR $40, V5, V5
-3b07544f| VSSHR $44, V25.D2, V27.D2
-3417350f| VSSRA $11, V25.S2, V20.S2
-1a213f0e| VSSUBL V31.B8, V8.B8, V26.H8
-1322a34e| VSSUBL2 V3.S4, V16.S4, V19.D2
-e931b84e| VSSUBW2 V24.S4, V15.D2, V9.D2
-dd7d004c| VST1 [V29.D2], (R14)
-cea4000c| VST1 [V14.H4, V15.H4], (R6)
-5a64000c| VST1 [V26.H4, V27.H4, V28.H4], (R2)
-2b2c004c| VST1 [V11.D2, V12.D2, V13.D2, V14.D2], (R1)
-39719f0c| VST1.P [V25.B8], 8(R9)
-b771874c| VST1.P [V23.B16], (R13)(R7)
-1da39f0c| VST1.P [V29.B8, V30.B8], 16(R24)
-20a0800c| VST1.P [V0.B8, V1.B8], (R1)(R0)
-5a6a9f4c| VST1.P [V26.S4, V27.S4, V28.S4], 48(R18)
-0d69994c| VST1.P [V13.S4, V14.S4, V15.S4], (R8)(R25)
-7e239f0c| VST1.P [V30.B8, V31.B8, V0.B8, V1.B8], 32(R27)
-9a2d8e0c| VST1.P [V26.D1, V27.D1, V28.D1, V29.D1], (R12)(R14)
-fd0b004d| VST1 V29.B[10], (RSP)
-1058004d| VST1 V16.H[7], (R0)
-0593000d| VST1 V5.S[1], (R24)
-3d87000d| VST1 V29.D[0], (R25)
-1a079f0d| VST1.P V26.B[1], 1(R24)
-421b8f4d| VST1.P V2.B[14], (R26)(R15)
-54489f4d| VST1.P V20.H[5], 2(R2)
-c4809f4d| VST1.P V4.S[2], 4(R6)
-0481840d| VST1.P V4.S[0], (R8)(R4)
-6b859f0d| VST1.P V11.D[0], 8(R11)
-f7878e4d| VST1.P V23.D[1], (RSP)(R14)
-e788004c| VST2 (R7), [V7.S4, V8.S4]
-79889f0c| VST2 16(R3), [V25.S2, V26.S2]
-a502204d| ST2 (R21), [V5.B, V6.B][8]
-0e50204d| ST2 (R0), [V14.H, V15.H][6]
-6b93204d| ST2 (R27), [V11.S, V12.S][3]
-0987200d| ST2 (R24), [V9.D, V10.D][0]
-7003bf0d| ST2 2(R27), [V16.B, V17.B][0]
-1a09a94d| ST2 (R8)(R9), [V26.B, V27.B][10]
-1e43b00d| ST2 (R24)(R16), [V30.H, V31.H][0]
-1a82bf0d| ST2 8(R16), [V26.S, V27.S][0]
-9892a50d| ST2 (R20)(R5), [V24.S, V25.S][1]
-5884bf0d| ST2 16(R2), [V24.D, V25.D][0]
-9e87a34d| ST2 (R28)(R3), [V30.D, V31.D][1]
-4e47004c| VST3 (R26), [V14.H8, V15.H8, V16.H8]
-76489f4c| VST3 48(R3), [V22.S4, V23.S4, V24.S4]
-3b48860c| VST3 (R1)(R6), [V27.S2, V28.S2, V29.S2]
-e52a000d| ST3 (R23), [V5.B, V6.B, V7.B][2]
-6f73004d| ST3 (R27), [V15.H, V16.H, V17.H][6]
-9bb1004d| ST3 (R12), [V27.S, V28.S, V29.S][3]
-0ca7000d| ST3 (R24), [V12.D, V13.D, V14.D][0]
-2a259f0d| ST3 3(R9), [V10.B, V11.B, V12.B][1]
-0524860d| ST3 (R0)(R6), [V5.B, V6.B, V7.B][1]
-94689a4d| ST3 (R4)(R26), [V20.H, V21.H, V22.H][5]
-c2a19f4d| ST3 12(R14), [V2.S, V3.S, V4.S][2]
-5fb38c0d| ST3 (R26)(R12), [V31.S, V0.S, V1.S][1]
-6da59f4d| ST3 24(R11), [V13.D, V14.D, V15.D][1]
-32a7924d| ST3 (R25)(R18), [V18.D, V19.D, V20.D][1]
-5b03000c| VST4 (R26), [V27.B8, V28.B8, V29.B8, V30.B8]
-cd059f0c| VST4 32(R14), [V13.H4, V14.H4, V15.H4, V16.H4]
-8601820c| VST4 (R12)(R2), [V6.B8, V7.B8, V8.B8, V9.B8]
-7925200d| ST4 (R11), [V25.B, V26.B, V27.B, V28.B][1]
-cd7a204d| ST4 (R22), [V13.H, V14.H, V15.H, V16.H][7]
-dfb2204d| ST4 (R22), [V31.S, V0.S, V1.S, V2.S][3]
-daa4200d| ST4 (R6), [V26.D, V27.D, V28.D, V29.D][0]
-2135bf0d| ST4 4(R9), [V1.B, V2.B, V3.B, V4.B][5]
-7727a90d| ST4 (R27)(R9), [V23.B, V24.B, V25.B, V26.B][1]
-b4a3bf0d| ST4 16(R29), [V20.S, V21.S, V22.S, V23.S][0]
-1ba3ae0d| ST4 (R24)(R14), [V27.S, V28.S, V29.S, V30.S][0]
-93a4bf0d| ST4 32(R4), [V19.D, V20.D, V21.D, V22.D][0]
-50a6b80d| ST4 (R18)(R24), [V16.D, V17.D, V18.D, V19.D][0]
-79b53d2c| VSTNP -20(R11), V13, V25
-d895326c| VSTNP -216(R14), V5, V24
-d1810dac| VSTNP 432(R14), V0, V17
-08728c2c| STP.P (V8, V28), 96(R16)
-ac1ba16c| STP.P (V12, V6), -496(R29)
-f4fab1ac| STP.P (V20, V30), -464(R23)
-c15bbe2d| STP.W (V1, V22), -16(R30)
-2422856d| STP.W (V4, V8), 80(R17)
-3d5282ad| STP.W (V29, V20), 64(R17)
-5df5352d| STP (V29, V29), -84(R10)
-5c54286d| STP (V28, V21), -384(R2)
-753c11ad| STP (V21, V15), 544(R3)
-54e4033c| MOVD.P V20, 62(R2)
-aa54137c| MOVD.P V10, -203(R5)
-c9d615bc| FMOVS.P F9, -163(R22)
-fc471efc| FMOVD.P F28, -28(RSP)
-20f78d3c| MOVD.P V0, 223(R25)
-028d1b3c| MOVD.W V2, -72(R8)
-35be037c| MOVD.W V21, 59(R17)
-b98c15bc| FMOVS.W F25, -168(R5)
-fd1e11fc| FMOVD.W F29, -239(R23)
-13ec9a3c| MOVD.W V19, -82(R0)
-b12d123d| MOVD V17, 1163(R13)
-d6500b7d| MOVD V22, 1448(R6)
-d46e39bd| FMOVS F20, 14700(R22)
-b84f30fd| FMOVD F24, 24728(R29)
-3cee993d| MOVD V28, 26544(R17)
-4348293c| MOVD V3, (R2)(R9.UXTW)
-ed7b253c| MOVD V13, (RSP)(R5)
-8fc9357c| MOVD V15, (R12)(R21.SXTW)
-87f832bc| FMOVS F7, (R4)(R18.SXTX<<2)
-f1ea38fc| FMOVD F17, (R23)(R24.SXTX)
-1c68a43c| MOVD V28, (R0)(R4)
-dcb1023c| MOVD V28, 43(R14)
-6701117c| MOVD V7, -240(R11)
-85b11bbc| FMOVS F5, -69(R12)
-8ea10efc| FMOVD F14, 234(R12)
-eab08f3c| MOVD V10, 251(R7)
-ca876a2e| VSUB V10.H4, V30.H4, V10.H4
-603be05e| VSUQADD V27, V0
-513a600e| VSUQADD V18.H4, V17.H4
-25231c4e| VTBL V28.B16, [V25.B16, V26.B16], V5.B16
-8c40100e| VTBL V16.B8, [V4.B16, V5.B16, V6.B16], V12.B8
-0462040e| VTBL V4.B8, [V16.B16, V17.B16, V18.B16, V19.B16], V4.B8
-34000f0e| VTBL V15.B8, [V1.B16], V20.B8
-eb301f4e| VTBX V31.B16, [V7.B16, V8.B16], V11.B16
-bb51124e| VTBX V18.B16, [V13.B16, V14.B16, V15.B16], V27.B16
-cf701d0e| VTBX V29.B8, [V6.B16, V7.B16, V8.B16, V9.B16], V15.B8
-4213080e| VTBX V8.B8, [V26.B16], V2.B8
-2b2b114e| VTRN1 V17.B16, V25.B16, V11.B16
-766ada4e| VTRN2 V26.D2, V19.D2, V22.D2
-4152672e| VUABAL V7.H4, V18.H4, V1.S4
-0953296e| VUABAL2 V9.B16, V24.B16, V9.H8
-41756c6e| VUABD V12.H8, V10.H8, V1.H8
-3670ae2e| VUABDL V14.S2, V1.S2, V22.D2
-5401312e| VUADDL V17.B8, V10.B8, V20.H8
-d103286e| VUADDL2 V8.B16, V30.B16, V17.H8
-a92a206e| VUADDLP V21.B16, V9.H8
-b839706e| VUADDLV V13.H8, V24
-ea106d2e| VUADDW V13.H4, V7.S4, V10.S4
-c010726e| VUADDW2 V18.H8, V6.S4, V0.S4
-e7e5517f| UCVTF $47, F15, F7
-49e7376f| UCVTF $9, V26.S4, V9.S4
-4ada617e| UCVTFDD F18, F10
-6b82431e| UCVTF $32, R19, F11
-db84039e| UCVTF $31, R6, F27
-1c72439e| UCVTF $36, R16, F28
-f301231e| UCVTFWS R15, F19
-3503631e| UCVTFWD R25, F21
-e602239e| UCVTFS R23, F6
-d503639e| UCVTFD R30, F21
-ec04606e| VUHADD V0.H8, V7.H8, V12.H8
-3f65782e| VUMAX V24.H4, V9.H4, V31.H4
-afa6232e| VUMAXP V3.B8, V21.B8, V15.B8
-cdaa706e| VUMAXV V22.H8, V13
-736c236e| VUMIN V3.B16, V3.B16, V19.B16
-a0afa62e| VUMINP V6.S2, V29.S2, V0.S2
-3c229e2f| VUMLAL V30.S[0], V17.S2, V28.D2
-9d29a56f| VUMLAL2 V5.S[3], V12.S4, V29.D2
-6c80392e| VUMLAL V25.B8, V3.B8, V12.H8
-4f60692f| VUMLSL V9.H[2], V2.H4, V15.S4
-61a1606e| VUMLSL2 V0.H8, V11.H8, V1.S4
-183e0b0e| VMOV V16.B[5], R24
-c0a89b6f| VUMULL2 V27.S[2], V6.S4, V0.D2
-36c0736e| VUMULL2 V19.H8, V1.H8, V22.S4
-120d757e| VUQADD V21, V8, V18
-3a0c2e2e| VUQADD V14.B8, V1.B8, V26.B8
-0d5d617e| VUQRSHL V1, V8, V13
-4d5cb16e| VUQRSHL V17.S4, V2.S4, V13.S4
-439c382f| VUQRSHRN $8, V2.D2, V3.S2
-9d745c7f| VUQSHL $28, V4, V29
-7b76656f| VUQSHL $37, V19.D2, V27.D2
-774ef37e| VUQSHL V19, V19, V23
-124eb32e| VUQSHL V19.S2, V16.S2, V18.S2
-bc961f6f| VUQSHRN2 $1, V21.S4, V28.H8
-a62ce07e| VUQSUB V0, V5, V6
-0f2dae2e| VUQSUB V14.S2, V8.S2, V15.S2
-b24b217e| VUQXTN V29, V18
-f148216e| VUQXTN2 V7.H8, V17.B16
-7d15a42e| VURHADD V4.S2, V11.S2, V29.S2
-9055fc6e| VURSHL V28.D2, V12.D2, V16.D2
-eb275e7f| VURSHR $34, V31, V11
-c0347c7f| VURSRA $4, V6, V0
-fe44e97e| VUSHL V9, V7, V30
-fa47e86e| VUSHL V8.D2, V31.D2, V26.D2
-95a7262f| VUSHLL $6, V28.S2, V21.D2
-9ca7096f| VUSHLL2 $1, V28.B16, V28.H8
-8a07527f| VUSHR $46, V28, V10
-c7076b6f| VUSHR $21, V30.D2, V7.D2
-8d39e07e| VUSQADD V12, V13
-f716727f| VUSRA $14, V23, V23
-3f14066f| VBIC $193, V31.S4
-b423ac2e| VUSUBL V12.S2, V29.S2, V20.D2
-7c22736e| VUSUBL2 V19.H8, V19.H8, V28.S4
-76317d2e| VUSUBW V29.H4, V11.S4, V22.S4
-8f302a6e| VUSUBW2 V10.B16, V4.H8, V15.H8
-c5a4286f| VUSHLL2 $8, V6.S4, V5.D2
-d3198c0e| VUZP1 V12.S2, V14.S2, V19.S2
-c05bdb4e| VUZP2 V27.D2, V30.D2, V0.D2
-362b610e| VXTN V25.S4, V22.H4
-0c29214e| VXTN2 V8.H8, V12.B16
-2b39c64e| VZIP1 V6.D2, V9.D2, V11.D2
-9500091a| ADCW R9, R4, R21
-c2001a9a| ADC R26, R6, R2
-6a02163a| ADCSW R22, R19, R10
-0c0118ba| ADCS R24, R8, R12
-b1c42b0b| ADDW R11.SXTW<<1, R5, R17
-bf15368b| ADD R22.UXTB<<5, R13, RSP
-be1f468b| ADD R6>>7, R29, R30
-8f51352b| ADDSW R21.UXTW<<4, R12, R15
-97043eab| ADDS R30.UXTB<<1, R4, R23
-09b00931| ADDSW $620, R0, R9
-4de204ab| ADDS R4<<56, R18, R13
-f6b60912| ANDW $4288675743, R23, R22
-a6d13b92| AND $-2025524839466146845, R13, R6
-1cc0138a| AND R19<<48, R0, R28
-73882072| ANDSW $458759, R3, R19
-b5780af2| ANDS $-9007199256838145, R5, R21
-766c90ea| ANDS R16->27, R3, R22
-a72ac31a| ASRW R3, R21, R7
-ff28d59a| ASR R21, R7, ZR
-3e7f0913| ASRW $9, R25, R30
-bafd5493| ASR $20, R13, R26
-302ad21a| ASRW R18, R17, R16
-602bd79a| ASR R23, R27, R0
-4fa4df54| BAL -66270(PC)
-a2e9cf15| JMP 30402978(PC)
-eff373b3| BFXIL $51, ZR, $10, R15
-9e3e7db3| BFI $3, R20, $16, R30
-87fa41b3| BFXIL $1, R20, $62, R7
-b831f80a| BICW R24@>12, R13, R24
-ffe0ae8a| BIC R14->56, R7, ZR
-7c2c276a| BICSW R7<<11, R3, R28
-ccf2fbea| BICS R27@>60, R22, R12
-722cd195| CALL 30485618(PC)
-20003fd6| CALL (R1)
-e0021fd6| JMP (R23)
-80db37d4| BRK $48860
-f25a4335| CBNZW R18, 137943(PC)
-5d5376b5| CBNZ R29, 242330(PC)
-5ce56834| CBZW R28, 214826(PC)
-29b08cb4| CBZ R9, -236159(PC)
-e048533a| CCMNW MI, R7, $19, $0
-e7da4fba| CCMN LE, R23, $15, $7
-67f2583a| CCMNW AL, R19, R24, $7
-60a05aba| CCMN GE, R3, R26, $0
-6a3b517a| CCMPW LO, R27, $17, $10
-8a4b55fa| CCMP MI, R28, $21, $10
-ed934b7a| CCMPW LS, ZR, R11, $13
-24414ffa| CCMP MI, R9, R15, $4
-0e169c1a| CSINCW NE, R16, R28, R14
-8264949a| CSINC VS, R4, R20, R2
-b363935a| CSINVW VS, R29, R19, R19
-ff619dda| CSINV VS, R15, R29, ZR
-5f3703d5| CLREX $7
-0017c05a| CLSW R24, R0
-8216c0da| CLS R20, R2
-3310c05a| CLZW R1, R19
-6e13c0da| CLZ R27, R14
-7fd02b2b| CMNW R11.SXTW<<4, R3
-5f3928ab| CMN R8.UXTH<<6, R10
-1fb92cb1| CMN $2862, R8
-ff164eab| CMN R14>>5, R23
-ff71256b| CMPW R5.UXTX<<4, R15
-df6034eb| CMP R20.UXTX, R6
-ff776af1| CMP $(2717<<12), RSP
-80e4855a| CSNEGW AL, R4, R5, R0
-da3490da| CSNEG LO, R6, R16, R26
-af40c71a| CRC32B R7, R5, R15
-c546cf1a| CRC32H R15, R22, R5
-6148c01a| CRC32W R0, R3, R1
-0f4eda9a| CRC32X R26, R16, R15
-4950d01a| CRC32CB R16, R2, R9
-8155c31a| CRC32CH R3, R12, R1
-835ace1a| CRC32CW R14, R20, R3
-f05fc59a| CRC32CX R5, ZR, R16
-0ae3901a| CSELW AL, R24, R16, R10
-ed51969a| CSEL PL, R15, R22, R13
-ee679f1a| CSETW VC, R14
-ed579f9a| CSET MI, R13
-f2539f5a| CSETMW MI, R18
-ffe39fda| CSINV AL, ZR, ZR, ZR
-9d25941a| CSINCW HS, R12, R20, R29
-afb7829a| CSINC LT, R29, R2, R15
-7602895a| CSINVW EQ, R19, R9, R22
-011394da| CSINV NE, R24, R20, R1
-68b7935a| CSNEGW LT, R27, R19, R8
-a32784da| CSNEG HS, R29, R4, R3
-8159a6d4| DCPS1 $13004
-c2d9aad4| DCPS2 $22222
-63ceb7d4| DCPS3 $48755
-bf3903d5| DMB $9
-e003bfd6| DRPS
-9f3603d5| DSB $6
-fc76a9ca| EON R9->29, R23, R28
-540f2352| EORW $3758096385, R26, R20
-187e1ed2| EOR $-1, R16, R24
-fd37004a| EORW R0<<13, ZR, R29
-b8c542ca| EOR R2>>49, R13, R24
-e0039fd6| ERET
-5f26c193| EXTR $9, R1, R18, ZR
-7f2003d5| WFI
-ff2a03d5| HINT $87
-804a59d4| HLT $51796
-df3003d5| ISB $0
-10fcdf88| LDARW (R0), R16
-fafcdfc8| LDAR (R7), R26
-30fedf08| LDARB (R17), R16
-63fedf48| LDARH (R19), R3
-82ba7f88| LDAXPW (R20), (R2, R14)
-d6917fc8| LDAXP (R14), (R22, R4)
-59ff5f88| LDAXRW (R26), R25
-fefe5fc8| LDAXR (R23), R30
-a0fc5f08| LDAXRB (R5), R0
-fafd5f48| LDAXRH (R15), R26
-b8804428| LDNPW 36(R5), R0, R24
-93e969a8| LDNP -360(R12), R26, R19
-caccef28| LDP.P -132(R6), (R10, R19)
-7365c3a8| LDP.P 48(R11), (R19, R25)
-3106ca29| LDP.W 80(R17), (R17, R1)
-0c02f7a9| LDP.W -144(R16), (R12, R0)
-41af6529| LDP -212(R26), (R1, R11)
-706b65a9| LDP -432(R27), (R16, R26)
-746ecf68| LDPSW 120(R19), R27, R20
-c051c669| LDPSW 48(R14), R20, R0
-aded5b69| LDPSW 220(R13), R27, R13
-990457b8| MOVWU.P -144(R4), R25
-bbd556f8| MOVD.P -147(R13), R27
-a45c51b8| MOVWU.W -235(R5), R4
-344c41f8| MOVD.W 20(R1), R20
-2d8755b9| MOVWU 5508(R25), R13
-56e360f9| MOVD 16832(R26), R22
-3b264e38| MOVBU.P 226(R17), R27
-898f5738| MOVBU.W -136(R28), R9
-c44e6839| MOVBU 2579(R22), R4
-2d687738| MOVBU (R1)(R23), R13
-4d475978| MOVHU.P -108(R26), R13
-39de5278| MOVHU.W -211(R17), R25
-9cc54879| MOVHU 1122(R12), R28
-87fb6978| MOVHU (R28)(R9.SXTX<<1), R7
-3967cb38| MOVBW.P 182(R25), R25
-abf69438| MOVB.P -177(R21), R11
-159ed138| MOVBW.W -231(R16), R21
-b63e8038| MOVB.W 3(R21), R22
-4491c939| MOVBW 612(R10), R4
-497e8039| MOVB 31(R18), R9
-7d6bf638| MOVBW (R27)(R22), R29
-e578ba38| MOVB (R7)(R26), R5
-9f06ca78| MOVHW.P 160(R20), ZR
-15c59d78| MOVH.P -36(R8), R21
-c07fd278| MOVHW.W -217(R30), R0
-bdec9278| MOVH.W -210(R5), R29
-10e2c979| MOVHW 1264(R16), R16
-54d29d79| MOVH 3816(R18), R20
-eb9484b8| MOVW.P 73(R7), R11
-ba2e8ab8| MOVW.W 162(R21), R26
-ac7f8ab9| MOVW 2684(R29), R12
-a359b3b8| MOVW (R13)(R19.UXTW<<2), R3
-f8b941b8| LDTRW 27(R15), R24
-fc0a4ef8| LDTR 224(R23), R28
-60d84638| LDTRBW 109(R3), R0
-44685978| LDTRH -106(R2), R4
-5379dc38| LDTRSBW -57(R10), R19
-ade99538| LDTRSB -162(R13), R13
-905ac078| LDTRSHW 5(R20), R16
-10898478| LDTRSH 72(R8), R16
-37188eb8| LDTRSW 225(R1), R23
-992351b8| LDURW -238(R28), R25
-c9f155f8| LDUR -161(R14), R9
-76e14e38| LDURBW 238(R11), R22
-47b24478| LDURHW 75(R18), R7
-4020da38| LDURSBW -94(R2), R0
-0dd09e38| LDURSB -19(R0), R13
-8f81d478| LDURSHW -184(R12), R15
-96918378| LDURSH 57(R12), R22
-b2e383b8| LDURSW 62(R29), R18
-d3717f88| LDXPW (R14), (R19, R28)
-cb677fc8| LDXP (R30), (R11, R25)
-ed7c5f88| LDXRW (R7), R13
-aa7d5fc8| LDXR (R13), R10
-1c7d5f08| LDXRB (R8), R28
-de7f5f48| LDXRH (R30), R30
-1622dc1a| LSLW R28, R16, R22
-cd20d59a| LSL R21, R6, R13
-882957d3| UBFIZ $41, R12, $11, R8
-3320cc1a| LSLW R12, R1, R19
-7320de9a| LSL R30, R3, R19
-af25d31a| LSRW R19, R13, R15
-e426c39a| LSR R3, R23, R4
-e87f0653| LSRW $6, ZR, R8
-85fe5fd3| LSR $31, R20, R5
-0025dc1a| LSRW R28, R8, R0
-6e27c79a| LSR R7, R27, R14
-6d69111b| MADDW R17, R26, R11, R13
-245d0d9b| MADD R13, R23, R9, R4
-85fe1f1b| MNEGW ZR, R20, R5
-9bfc199b| MNEG R25, R4, R27
-13000011| ADDW $0, R0, R19
-e3000091| ADD $0, R7, R3
-986c9e12| MOVW $4294904987, R24
-cb24f092| MOVD $9140618393701842943, R11
-3cbb88d2| MOVD $17881, R28
-e4170232| MOVW $3221225487, R4
-fe636bb2| MOVD $70368742080512, R30
-ed031b2a| MOVW R27, R13
-fb0308aa| MOVD R8, R27
-be3ed1f2| MOVK $(35317<<32), R30
-e0a08312| MOVW $4294959864, R0
-a1a6e592| MOVD $-3257509905472421889, R1
-5260f0d2| MOVD $-9006636304787570688, R18
-a60739d5| MRS $18493, R6
-281a1ed5| MSR R8, S3_6_C1_C10_1
-10f31b1b| MSUBW R27, R28, R24, R16
-46b41a9b| MSUB R26, R13, R2, R6
-ec7f041b| MULW R4, ZR, R12
-147f009b| MUL R0, R24, R20
-f67f692a| MVNW R9>>31, R22
-f2a3f7aa| MVN R23@>40, R18
-fe8b0bcb| NEG R11<<34, R30
-fef710eb| NEGS R16<<61, R30
-e0031b5a| NGCW R27, R0
-e0031dda| NGC R29, R0
-f003167a| NGCSW R22, R16
-e60302fa| NGCS R2, R6
-1f2003d5| NOP
-2f51732a| ORNW R19>>20, R9, R15
-9b0facaa| ORN R12->3, R28, R27
-efa40032| ORRW $67044351, R7, R15
-3a0b19b2| ORR $3848290698112, R25, R26
-4b9ec4aa| ORR R4@>39, R18, R11
-f5eaa2f9| PRFM 17872(R23), PSTL3STRM
-731df8d8| PRFM -16149(PC), PSTL2STRM
-85c194f8| PRFUM -180(R12), PLDL3STRM
-c303c05a| RBITW R30, R3
-3000c0da| RBIT R1, R16
-20025fd6| RET R17
-ec08c05a| REVW R7, R12
-180cc0da| REV R0, R24
-4b07c05a| REV16W R26, R11
-7805c0da| REV16 R11, R24
-ea08c0da| REV32 R7, R10
-a90fc0da| REV R29, R9
-fd788213| EXTRW $30, R2, R7, R29
-e1a0cc93| EXTR $40, R12, R7, R1
-792fdc1a| RORW R28, R27, R25
-2b2cc39a| ROR R3, R1, R11
-7e2ec71a| RORW R7, R19, R30
-392edd9a| ROR R29, R17, R25
-47020a5a| SBCW R10, R18, R7
-b7021dda| SBC R29, R21, R23
-7800197a| SBCSW R25, R3, R24
-1e0203fa| SBCS R3, R16, R30
-a6b07393| SBFIZ $13, R5, $45, R6
-94957d93| SBFIZ $3, R12, $38, R20
-ecff5e93| ASR $30, ZR, R12
-a50ddb1a| SDIVW R27, R13, R5
-7c0ec89a| SDIV R8, R19, R28
-9f2003d5| SEV
-bf2003d5| SEVL
-5953349b| SMADDL R20, R20, R26, R25
-bafc399b| SMNEGL R25, R5, R26
-a5cc289b| SMSUBL R8, R19, R5, R5
-297c579b| SMULH R23, R1, R9
-5e7e299b| SMULL R9, R18, R30
-29fd9f88| STLRW R9, (R9)
-fdff9fc8| STLR R29, (RSP)
-defe9f08| STLRB R30, (R22)
-2ffc9f48| STLRH R15, (R1)
-c1e12f88| STLXPW (R1, R24), (R14), R15
-62aa2ec8| STLXP (R2, R10), (R19), R14
-b9fe1b88| STLXRW R25, (R21), R27
-cbff14c8| STLXR R11, (R30), R20
-edfc0608| STLXRB R13, (R7), R6
-8dfe1048| STLXRH R13, (R20), R16
-1a323628| STNPW -80(R16), R12, R26
-b3cb3da8| STNP -40(R29), R18, R19
-52398828| STP.P (R18, R14), 64(R10)
-434c95a8| STP.P (R3, R19), 336(R2)
-2badbd29| STP.W (R11, R11), -20(R9)
-daeabaa9| STP.W (R26, R26), -88(R22)
-9bc91529| STP (R27, R18), 172(R12)
-eea024a9| STP (R14, R8), -440(R7)
-fec514b8| MOVW.P R30, -180(R15)
-d21508f8| MOVD.P R18, 129(R14)
-7c5c0ab8| MOVW.W R28, 165(R3)
-6dec1ff8| MOVD.W R13, -2(R3)
-35681eb9| MOVW R21, 7784(R1)
-374d35f9| MOVD R23, 27288(R9)
-1dd83df8| MOVD R29, (R0)(R29.SXTW<<3)
-1b441b38| MOVB.P R27, -76(R0)
-d69c0f38| MOVB.W R22, 249(R6)
-b7ce0d39| MOVB R23, 883(R21)
-2b7b3938| MOVB R11, (R25)(R25)
-4e771d78| MOVH.P R14, -41(R26)
-64cc0b78| MOVH.W R4, 188(R3)
-07b90279| MOVH R7, 348(R8)
-2eb91cb8| STTRW -53(R9), R14
-373a1bf8| STTR -77(R17), R23
-d0881138| STTRBW -232(R6), R16
-941a0e78| STTRHW 225(R20), R20
-da3000b8| MOVW R26, 3(R6)
-5e921cf8| MOVD R30, -55(R18)
-09821e38| MOVB R9, -24(R16)
-67d21c78| MOVH R7, -51(R19)
-0c352188| STXPW (R12, R13), (R8), R1
-146d26c8| STXP (R20, R27), (R8), R6
-837d1888| STXRW R3, (R12), R24
-f17f1bc8| STXR R17, (RSP), R27
-3b7d0f08| STXRB R27, (R9), R15
-6b7c1f48| STXRH R11, (R3), ZR
-70ab204b| SUBW R0.SXTH<<2, R27, R16
-303b20cb| SUB R0.UXTH<<6, R25, R16
-69a909d1| SUB $618, R11, R9
-87384e4b| SUBW R14>>14, R4, R7
-ec720ecb| SUB R14<<28, R23, R12
-2b58256b| SUBSW R5.UXTW<<6, R1, R11
-59e93ceb| SUBS R28.SXTX<<2, R10, R25
-9e7b6ff1| SUBS $(3038<<12), R28, R30
-3e6d196b| SUBSW R25<<27, R9, R30
-54029ceb| SUBS R28->0, R18, R20
-c1f91cd4| SVC $59342
-091e0013| SXTBW R16, R9
-7f1c4093| SXTB R3, ZR
-b53c0013| SXTHW R5, R21
-773e4093| SXTH R19, R23
-707f4093| SXTW R27, R16
-df3a2dd5| SYSL $342720, ZR
-5f612972| TSTW $4286644223, R10
-bf2007f2| TST $-144115170929541117, R5
-1f11136a| TSTW R19<<4, R8
-5fd10dea| TST R13<<52, R10
-5c826bd3| UBFIZ $21, R18, $33, R28
-ad690c53| UBFXW $12, R13, $15, R13
-3a0f41d3| UBFX $1, R25, $3, R26
-6a197dd3| UBFIZ $3, R11, $7, R10
-520aca1a| UDIVW R10, R18, R18
-0809c89a| UDIV R8, R8, R8
-4e55a69b| UMADDL R6, R21, R10, R14
-99fda59b| UMNEGL R5, R12, R25
-1adabb9b| UMSUBL R27, R22, R16, R26
-177ddf9b| UMULH ZR, R8, R23
-1d7da49b| UMULL R4, R8, R29
-5a1c0053| UXTBW R2, R26
-603c0053| UXTHW R3, R0
-5f2003d5| WFE
-7f2003d5| WFI
-3f2003d5| YIELD
-02b8600e| VABS V0.H4, V2.H4
-c886f94e| VADD V25.D2, V22.D2, V8.D2
-5642740e| VADDHN V20.S4, V18.S4, V22.H4
-3743294e| VADDHN2 V9.H8, V25.H8, V23.B16
-2abef74e| VADDP V23.D2, V17.D2, V10.D2
-18bbb14e| VADDV V24.S4, V24
-1a59284e| AESD V8.B16, V26.B16
-cf48284e| AESE V6.B16, V15.B16
-557a284e| AESIMC V18.B16, V21.B16
-2f6b284e| AESMC V25.B16, V15.B16
-cf1c324e| VAND V18.B16, V6.B16, V15.B16
-c9c6032f| VMVNI $(118<<136), V9.S2
-f1a7012f| VMVNI $(63<<8), V17.H4
-691d600e| VBIC V0.B8, V11.B8, V9.B8
-c31dfe6e| VBIF V30.B16, V14.B16, V3.B16
-c81cb66e| VBIT V22.B16, V6.B16, V8.B16
-701f6b2e| VBSL V11.B8, V27.B8, V16.B8
-7c4b600e| VCLS V27.H4, V28.H4
-ce4a602e| VCLZ V22.H4, V14.H4
-d08de37e| VCMEQ V3, V14, V16
-e98db96e| VCMEQ V25.S4, V15.S4, V9.S4
-6e99a00e| VCMEQ $0, V11.S2, V14.S2
-933d304e| VCMGE V16.B16, V12.B16, V19.B16
-0e88e07e| VCMGE $0, V0, V14
-9b89202e| VCMGE $0, V12.B8, V27.B8
-6a372f4e| VCMGT V15.B16, V27.B16, V10.B16
-128be05e| VCMGT $0, V24, V18
-9189a00e| VCMGT $0, V12.S2, V17.S2
-f734e67e| VCMHI V6, V7, V23
-4d36b82e| VCMHI V24.S2, V18.S2, V13.S2
-003e2b2e| VCMHS V11.B8, V16.B8, V0.B8
-729ae07e| VCMLE $0, V19, V18
-3699206e| VCMLE $0, V9.B16, V22.B16
-d1ab600e| VCMLT $0, V30.H4, V17.H4
-ad8e244e| VCMTST V4.B16, V21.B16, V13.B16
-ef06035e| VMOV V23.B[1], V15
-5007040e| VDUP V26.S[0], V16.S2
-890e0b4e| VDUP R20, V9.B16
-951c276e| VEOR V7.B16, V4.B16, V21.B16
-98d4bf7e| FABD F31, F4, F24
-bcd4ad6e| VFABD V13.S4, V5.S4, V28.S4
-78f8e04e| FABS V3.D2, V24.D2
-8cc0201e| FABSS F4, F12
-9ac1601e| FABSD F12, F26
-3aee307e| FACGE F16, F17, F26
-41ed352e| VFACGE V21.S2, V10.S2, V1.S2
-35edaf7e| FACGT F15, F9, F21
-02efe36e| VFACGT V3.D2, V24.D2, V2.D2
-21d6664e| FADD V6.D2, V17.D2, V1.D2
-5e282e1e| FADDS F14, F2, F30
-4d2a621e| FADDD F2, F18, F13
-7cd8707e| FADDP V3.D2, F28
-5dd4386e| VFADDP V24.S4, V2.S4, V29.S4
-69363e1e| FCCMPS LO, F30, F19, $9
-c8b56a1e| FCCMPD LT, F10, F14, $8
-d1f5271e| FCCMPES AL, F7, F14, $1
-3645751e| FCCMPED MI, F21, F9, $6
-21e6735e| FCMEQ F19, F17, F1
-b6dba05e| FCMEQ $0, F29, F22
-49d8a04e| VFCMEQ $0, V2.S4, V9.S4
-2ee5667e| FCMGE F6, F9, F14
-4ee7766e| VFCMGE V22.D2, V26.D2, V14.D2
-4bcba07e| FCMGE $0, F26, F11
-11c9a02e| VFCMGE $0, V8.S2, V17.S2
-81e4a97e| FCMGT F9, F4, F1
-d3e4b56e| VFCMGT V21.S4, V6.S4, V19.S4
-efc8e05e| FCMGT $0, F7, F15
-3ec9e04e| VFCMGT $0, V9.D2, V30.D2
-38d9a07e| FCMLE $0, F9, F24
-7dd9a02e| VFCMLE $0, V11.S2, V29.S2
-bae8a05e| FCMLT $0, F5, F26
-a2eaa04e| VFCMLT $0, V21.S4, V2.S4
-60212f1e| FCMPS F15, F11
-a8233a1e| FCMPS $(0.0), F29
-a020641e| FCMPD F4, F5
-e820701e| FCMPD $(0.0), F7
-b0203a1e| FCMPES F26, F5
-78203d1e| FCMPES $(0.0), F3
-70226e1e| FCMPED F14, F19
-3821601e| FCMPED $(0.0), F9
-06de241e| FCSELS LE, F16, F4, F6
-51de761e| FCSELD LE, F18, F22, F17
-5e42e21e| FCVTHS F18, F30
-b9c1e21e| FCVTHD F13, F25
-58c0231e| FCVTSH F2, F24
-9bc2221e| FCVTSD F20, F27
-2bc3631e| FCVTDH F25, F11
-f640621e| FCVTDS F7, F22
-caca215e| FCVTAS F22, F10
-5ec9210e| VFCVTAS V10.S2, V30.S2
-0302241e| FCVTASW F16, R3
-c103249e| FCVTAS F30, R1
-3003641e| FCVTASW F25, R16
-6201649e| FCVTAS F11, R2
-d3c9217e| FCVTAU F14, F19
-3bc8212e| VFCVTAU V1.S2, V27.S2
-0802251e| FCVTAUW F16, R8
-5f02259e| FCVTAU F18, ZR
-2801651e| FCVTAUW F9, R8
-f200659e| FCVTAU F7, R18
-d179610e| VFCVTL V14.S2, V17.D2
-347b614e| VFCVTL2 V25.S4, V20.D2
-08b9615e| FCVTMS F8, F8
-f000301e| FCVTMSW F7, R16
-8002309e| FCVTMS F20, R0
-5202701e| FCVTMSW F18, R18
-c803709e| FCVTMS F30, R8
-1cbb217e| FCVTMU F24, F28
-d1b9212e| VFCVTMU V14.S2, V17.S2
-2e02311e| FCVTMUW F17, R14
-d003319e| FCVTMU F30, R16
-ce03711e| FCVTMUW F30, R14
-0801719e| FCVTMU F8, R8
-4c6b210e| VFCVTN V26.S4, V12.H4
-6869214e| VFCVTN2 V11.S4, V8.H8
-2faa615e| FCVTNS F17, F15
-33aa614e| VFCVTNS V17.D2, V19.D2
-d303201e| FCVTNSW F30, R19
-4001209e| FCVTNS F10, R0
-b202601e| FCVTNSW F21, R18
-c603609e| FCVTNS F30, R6
-8ea8217e| FCVTNU F4, F14
-cc01211e| FCVTNUW F14, R12
-3a00219e| FCVTNU F1, R26
-2002611e| FCVTNUW F17, R0
-ff01619e| FCVTNU F15, ZR
-1baba15e| FCVTPS F24, F27
-9d00281e| FCVTPSW F4, R29
-eb02289e| FCVTPS F23, R11
-3503681e| FCVTPSW F25, R21
-4301689e| FCVTPS F10, R3
-63aba17e| FCVTPU F27, F3
-caa8a12e| VFCVTPU V6.S2, V10.S2
-7702291e| FCVTPUW F19, R23
-b503299e| FCVTPU F29, R21
-2f03691e| FCVTPUW F25, R15
-5b01699e| FCVTPU F10, R27
-7369617e| FCVTXN F11, F19
-6b6b612e| VFCVTXN V27.D2, V11.S2
-f268616e| VFCVTXN2 V7.D2, V18.S4
-bcff7b5f| FCVTZS $5, F29, F28
-19bbe15e| FCVTZSDD F24, F25
-c6b9e14e| FCVTZS V14.D2, V6.D2
-e9fc189e| FCVTZS $1, F7, R9
-6661589e| FCVTZS $40, F11, R6
-9702381e| FCVTZSSW F20, R23
-ed00389e| FCVTZSS F7, R13
-3a01781e| FCVTZSDW F9, R26
-8801789e| FCVTZSD F12, R8
-a5ff2e2f| FCVTZU $18, V29.S2, V5.S2
-5bbbe17e| FCVTZUDD F26, F27
-1a74199e| FCVTZU $35, F0, R26
-e391599e| FCVTZU $28, F15, R3
-b203391e| FCVTZUSW F29, R18
-ed01399e| FCVTZUS F15, R13
-c200791e| FCVTZUDW F6, R2
-5402799e| FCVTZUD F18, R20
-1aff2b6e| FDIV V11.S4, V24.S4, V26.S4
-171a391e| FDIVS F25, F16, F23
-7d196b1e| FDIVD F11, F11, F29
-f9721f1f| FMADDS F31, F28, F23, F25
-7070551f| FMADDD F21, F28, F3, F16
-05f7624e| FMAX V2.D2, V24.D2, V5.D2
-88493d1e| FMAXS F29, F12, F8
-4a496d1e| FMAXD F13, F10, F10
-5068321e| FMAXNMS F18, F2, F16
-a66a761e| FMAXNMD F22, F21, F6
-0ccb707e| FMAXNMP V24.D2, F12
-6ec66f6e| VFMAXNMP V15.D2, V19.D2, V14.D2
-41f8307e| FMAXP V2.S2, F1
-05f72a6e| VFMAXP V10.S4, V24.S4, V5.S4
-aa5b231e| FMINS F3, F29, F10
-d6596a1e| FMIND F10, F14, F22
-15c4b24e| FMINNM V18.S4, V0.S4, V21.S4
-6279281e| FMINNMS F8, F11, F2
-af7b6a1e| FMINNMD F10, F29, F15
-7dc9f07e| FMINNMP V11.D2, F29
-dfc6bb6e| VFMINNMP V27.S4, V22.S4, V31.S4
-56c8b06e| FMINNMV V2.S4, F22
-0ff8f07e| FMINP V0.D2, F15
-a211c55f| FMLA V5.D[0], F13, F2
-0dce224e| VFMLA V2.S4, V16.S4, V13.S4
-4c5ba15f| FMLS V1.S[3], F26, F12
-8953ba0f| VFMLS V26.S[1], V28.S2, V9.S2
-09cdbd4e| VFMLS V29.S4, V8.S4, V9.S4
-97f7044f| FMOV $-7., V23.S4
-dff4006f| FMOV $2.75, V31.D2
-c543201e| FMOVS F30, F5
-1740601e| FMOVD F0, F23
-a100271e| FMOVS R5, F1
-f102261e| FMOVS F23, R17
-b302679e| FMOVD R21, F19
-4001af9e| FMOV R10, V0.D[1]
-db01669e| FMOVD F14, R27
-8300ae9e| FMOV V4.D[1], R3
-1870331e| FMOVS $-6.75, F24
-08507d1e| FMOVD $-0.8125, F8
-5cbf0c1f| FMSUBS F12, F15, F26, F28
-89e3501f| FMSUBD F16, F24, F28, F9
-3a93c95f| FMULD V9.D[0], F25, F26
-5a90ae4f| FMUL V14.S[1], V2.S4, V26.S4
-ba0a2f1e| FMULS F15, F21, F26
-5b0a7c1e| FMULD F28, F18, F27
-e991c07f| FMULX V0.D[0], F15, F9
-be989c6f| VFMULX V28.S[2], V5.S4, V30.S4
-d3dc7a5e| FMULX F26, F6, F19
-d4de7f4e| VFMULX V31.D2, V22.D2, V20.D2
-8e41211e| FNEGS F12, F14
-dc42611e| FNEGD F22, F28
-cb362e1f| FNMADDS F14, F13, F22, F11
-6441791f| FNMADDD F25, F16, F11, F4
-36ed291f| FNMSUBS F9, F27, F9, F22
-35b27a1f| FNMSUBD F26, F12, F17, F21
-9388301e| FNMULS F16, F4, F19
-c088711e| FNMULD F17, F6, F0
-e8daa15e| FRECPE F23, F8
-a9fc395e| FRECPS F25, F5, F9
-49fe284e| VFRECPS V8.S4, V18.S4, V9.S4
-85f8a15e| FRECPX F4, F5
-ee43261e| FRINTAS F31, F14
-7042661e| FRINTAD F19, F16
-2b98a16e| FRINTI V1.S4, V11.S4
-fac2271e| FRINTIS F23, F26
-76c3671e| FRINTID F27, F22
-7942251e| FRINTMS F19, F25
-8742651e| FRINTMD F20, F7
-fc8a214e| FRINTN V23.S4, V28.S4
-c041241e| FRINTNS F14, F0
-b241641e| FRINTND F13, F18
-c588a14e| FRINTP V6.S4, V5.S4
-6ec2241e| FRINTPS F19, F14
-ddc0641e| FRINTPD F6, F29
-1a9a616e| FRINTX V16.D2, V26.D2
-7c41271e| FRINTXS F11, F28
-d243671e| FRINTXD F30, F18
-b49aa14e| FRINTZ V21.S4, V20.S4
-5bc0251e| FRINTZS F2, F27
-43c1651e| FRINTZD F10, F3
-3bdba17e| FRSQRTE F25, F27
-9ddba12e| VFRSQRTE V28.S2, V29.S2
-1ffee65e| FRSQRTS F6, F16, F31
-8bfdb54e| VFRSQRTS V21.S4, V12.S4, V11.S4
-33c1211e| FSQRTS F9, F19
-a5c0611e| FSQRTD F5, F5
-a2d7b74e| FSUB V23.S4, V29.S4, V2.S4
-a338301e| FSUBS F16, F5, F3
-e139681e| FSUBD F8, F15, F1
-96170e6e| VMOV V28.H[1], V22.H[3]
-791c014e| VMOV R3, V25.B[0]
-cf79404c| VLD1 (R14), [V15.S4]
-75a6404c| VLD1 (R19), [V21.H8, V22.H8]
-ed62404c| VLD1 (R23), [V13.B16, V14.B16, V15.B16]
-392a400c| VLD1 (R17), [V25.S2, V26.S2, V27.S2, V28.S2]
-cd7cdf4c| VLD1.P 16(R6), [V13.D2]
-f677ce4c| VLD1.P (RSP)(R14), [V22.H8]
-d4a3df0c| VLD1.P 16(R30), [V20.B8, V21.B8]
-8ba1d90c| VLD1.P (R12)(R25), [V11.B8, V12.B8]
-396fdf0c| VLD1.P 24(R25), [V25.D1, V26.D1, V27.D1]
-4c64db0c| VLD1.P (R2)(R27), [V12.H4, V13.H4, V14.H4]
-3f2adf4c| VLD1.P 64(R17), [V31.S4, V0.S4, V1.S4, V2.S4]
-b329ce4c| VLD1.P (R13)(R14), [V19.S4, V20.S4, V21.S4, V22.S4]
-aa02400d| VLD1 (R21), V10.B[0]
-7980404d| VLD1 (R3), V25.S[2]
-5884404d| VLD1 (R2), V24.D[1]
-f203df4d| VLD1.P 1(RSP), V18.B[8]
-3519c40d| VLD1.P (R9)(R4), V21.B[6]
-ed59df0d| VLD1.P 2(R15), V13.H[3]
-9e52d90d| VLD1.P (R20)(R25), V30.H[2]
-cd93df4d| VLD1.P 4(R30), V13.S[3]
-5982cb4d| VLD1.P (R18)(R11), V25.S[2]
-4f84df4d| VLD1.P 8(R2), V15.D[1]
-2d85d50d| VLD1.P (R9)(R21), V13.D[0]
-33c2400d| VLD1R (R17), [V19.B8]
-e2c8df4d| VLD1R 4(R7), [V2.S4]
-83c2c44d| VLD1R (R20)(R4), [V3.B16]
-5487400c| VLD2 (R26), [V20.H4, V21.H4]
-e08adf0c| VLD2 16(R23), [V0.S2, V1.S2]
-768ac40c| VLD2 (R19)(R4), [V22.S2, V23.S2]
-4c0f604d| LD2 (R26), [V12.B, V13.B][11]
-e043604d| LD2 (RSP), [V0.H, V1.H][4]
-c281600d| LD2 (R14), [V2.S, V3.S][0]
-e585600d| LD2 (R15), [V5.D, V6.D][0]
-2c1aff4d| LD2 2(R17), [V12.B, V13.B][14]
-820bfd4d| LD2 (R28)(R29), [V2.B, V3.B][10]
-d593ff0d| LD2 8(R30), [V21.S, V22.S][1]
-6780ea0d| LD2 (R3)(R10), [V7.S, V8.S][0]
-3484ff4d| LD2 16(R1), [V20.D, V21.D][1]
-6a86ee4d| LD2 (R19)(R14), [V10.D, V11.D][1]
-e4c7604d| VLD2R (RSP), [V4.H8, V5.H8]
-69c8ff0d| VLD2R 8(R3), [V9.S2, V10.S2]
-52ccf30d| VLD2R (R2)(R19), [V18.D1, V19.D1]
-9e4b404c| VLD3 (R28), [V30.S4, V31.S4, V0.S4]
-0440df4c| VLD3 48(R0), [V4.B16, V5.B16, V6.B16]
-0f49cf0c| VLD3 (R8)(R15), [V15.S2, V16.S2, V17.S2]
-b22e400d| LD3 (R21), [V18.B, V19.B, V20.B][3]
-9473400d| LD3 (R28), [V20.H, V21.H, V22.H][2]
-1da0404d| LD3 (R0), [V29.S, V30.S, V31.S][2]
-21a5404d| LD3 (R9), [V1.D, V2.D, V3.D][1]
-3b23df0d| LD3 3(R25), [V27.B, V28.B, V29.B][0]
-0937c60d| LD3 (R24)(R6), [V9.B, V10.B, V11.B][5]
-926bcb4d| LD3 (R28)(R11), [V18.H, V19.H, V20.H][5]
-f5a1df4d| LD3 12(R15), [V21.S, V22.S, V23.S][2]
-dba3c44d| LD3 (R30)(R4), [V27.S, V28.S, V29.S][2]
-12a5df0d| LD3 24(R8), [V18.D, V19.D, V20.D][0]
-daa7d30d| LD3 (R30)(R19), [V26.D, V27.D, V28.D][0]
-3beb400d| VLD3R (R25), [V27.S2, V28.S2, V29.S2]
-cde4df4d| VLD3R 6(R6), [V13.H8, V14.H8, V15.H8]
-a4efc44d| VLD3R (R29)(R4), [V4.D2, V5.D2, V6.D2]
-fc0a400c| VLD4 (R23), [V28.S2, V29.S2, V30.S2, V31.S2]
-ae05df0c| VLD4 32(R13), [V14.H4, V15.H4, V16.H4, V17.H4]
-cb07c84c| VLD4 (R30)(R8), [V11.H8, V12.H8, V13.H8, V14.H8]
-1825604d| LD4 (R8), [V24.B, V25.B, V26.B, V27.B][9]
-2869604d| LD4 (R9), [V8.H, V9.H, V10.H, V11.H][5]
-07b2600d| LD4 (R16), [V7.S, V8.S, V9.S, V10.S][1]
-9fa4600d| LD4 (R4), [V31.D, V0.D, V1.D, V2.D][0]
-de22ff0d| LD4 4(R22), [V30.B, V31.B, V0.B, V1.B][0]
-6a36ed4d| LD4 (R19)(R13), [V10.B, V11.B, V12.B, V13.B][13]
-23a2ff4d| LD4 16(R17), [V3.S, V4.S, V5.S, V6.S][2]
-22a0fe4d| LD4 (R1)(R30), [V2.S, V3.S, V4.S, V5.S][2]
-7ca4ff4d| LD4 32(R3), [V28.D, V29.D, V30.D, V31.D][1]
-03a7ec4d| LD4 (R24)(R12), [V3.D, V4.D, V5.D, V6.D][1]
-b9ee600d| VLD4R (R21), [V25.D1, V26.D1, V27.D1, V28.D1]
-03e8ff0d| VLD4R 16(R0), [V3.S2, V4.S2, V5.S2, V6.S2]
-e7e3f24d| VLD4R (RSP)(R18), [V7.B16, V8.B16, V9.B16, V10.B16]
-451a4e2c| VLDNP 112(R18), V6, V5
-01236f6c| VLDNP -272(R24), V8, V1
-204041ac| VLDNP 32(R1), V16, V0
-1b21cc2c| LDP.P 96(R8), (V27, V8)
-41ccc06c| LDP.P 8(R2), (V1, V19)
-65b8e6ac| LDP.P -816(R3), (V5, V14)
-a58bed2d| LDP.W -148(R29), (V5, V2)
-d8a3c46d| LDP.W 72(R30), (V24, V8)
-dc82c0ad| LDP.W 16(R22), (V28, V0)
-eda7782d| LDP -60(RSP), (V13, V9)
-041b6c6d| LDP -320(R24), (V4, V6)
-17ea6bad| LDP -656(R16), (V23, V26)
-4e14433c| MOVD.P 49(R2), V14
-cd844e7c| MOVD.P 232(R6), V13
-99945dbc| FMOVS.P -39(R4), F25
-170556fc| FMOVD.P -160(R8), F23
-3115d53c| MOVD.P -175(R9), V17
-3c6d403c| MOVD.W 6(R9), V28
-f8fc527c| MOVD.W -209(R7), V24
-776c58bc| FMOVS.W -122(R3), F23
-075f57fc| FMOVD.W -139(R24), F7
-28cdc33c| MOVD.W 60(R9), V8
-40a15f3d| MOVD 2024(R10), V0
-3b8c597d| MOVD 3270(R1), V27
-28f958bd| FMOVS 6392(R9), F8
-852d6ffd| FMOVD 24152(R12), F5
-e149ea3d| MOVD 43296(R15), V1
-807f7c1c| FMOVS 254972(PC), F0
-e7a61c5c| FMOVD 58679(PC), F7
-4bca773c| MOVD (R18)(R23.SXTW), V11
-8d69623c| MOVD (R12)(R2), V13
-cef8797c| MOVD (R6)(R25.SXTX<<1), V14
-b7497bfc| FMOVD (R13)(R27.UXTW), F23
-dbdbfc3c| MOVD (R30)(R28.SXTW<<4), V27
-1a60553c| VLDUR -170(R0), V26
-74f3477c| VLDUR 127(R27), V20
-f46249bc| VLDUR 150(R23), V20
-b8015bfc| VLDUR -80(R13), V24
-3372de3c| VLDUR -25(R17), V19
-04972c0e| VMLA V12.B8, V24.B8, V4.B8
-f0051b5e| VMOV V15.B[13], V16
-7f76146e| VMOV V19.S[3], V31.S[2]
-6c1cb60e| VORR V22.B8, V3.B8, V12.B8
-ae3f1e0e| VMOV V29.H[7], R14
-f8e5004f| VMOVI $15, V24.B16
-0355010f| VORR $(40<<16), V3.S2
-4825020f| VMOVI $(74<<8), V8.S2
-64d7040f| VMOVI $(155<<144), V4.S2
-46e6062f| VMOVI $-280379759984896, V6
-bde6056f| VMOVI $-71776123339472641, V29.D2
-789f350e| VMUL V21.B8, V27.B8, V24.B8
-7b5b202e| VMVN V27.B8, V27.B8
-2dd4066f| VMVNI $(193<<144), V13.S4
-8266012f| VMVNI $(52<<24), V2.S2
-1025022f| VMVNI $(72<<8), V16.S2
-eabba06e| VNEG V31.S4, V10.S4
-7e5a206e| VMVN V19.B16, V30.B16
-6a1fea0e| VORN V10.B8, V27.B8, V10.B8
-b406010f| VMOVI $53, V20.S2
-f564040f| VMOVI $(135<<24), V21.S2
-b21cb80e| VORR V24.B8, V5.B8, V18.B8
-2b437a2e| VRADDHN V26.S4, V25.S4, V11.H4
-6d402c6e| VRADDHN2 V12.H8, V3.H8, V13.B16
-655a606e| VRBIT V19.B16, V5.B16
-5108202e| VREV32 V2.B8, V17.B8
-750a200e| VREV64 V19.B8, V21.B8
-f88f0b0f| VRSHRN $5, V31.H8, V24.B8
-8263236e| VRSUBHN2 V3.H8, V28.H8, V2.B16
-787c320e| VSABA V18.B8, V3.B8, V24.B8
-f551220e| VSABAL V2.B8, V15.B8, V21.H8
-b5766d0e| VSABD V13.H4, V21.H4, V21.H4
-9270240e| VSABDL V4.B8, V4.B8, V18.H8
-4d71384e| VSABDL2 V24.B16, V10.B16, V13.H8
-8f6a600e| VSADALP V20.H4, V15.S2
-e501750e| VSADDL V21.H4, V15.H4, V5.S4
-5202ab4e| VSADDL2 V11.S4, V18.S4, V18.D2
-7029200e| VSADDLP V11.B8, V16.H4
-3913710e| VSADDW V17.H4, V25.S4, V25.S4
-d7e4575f| SCVTF $41, F6, F23
-c6db215e| SCVTFSS F30, F6
-17d8214e| SCVTF V0.S4, V23.S4
-62c4021e| SCVTF $15, R3, F2
-f5cd421e| SCVTF $13, R15, F21
-6128029e| SCVTF $54, R3, F1
-9a7c429e| SCVTF $33, R4, F26
-6102221e| SCVTFWS R19, F1
-0b03621e| SCVTFWD R24, F11
-ed01229e| SCVTFS R15, F13
-6f02629e| SCVTFD R19, F15
-ac03055e| SHA1C V5.S4, V29, V12
-e309285e| SHA1H V15, V3
-2a221b5e| SHA1M V27.S4, V17, V10
-a013185e| SHA1P V24.S4, V29, V0
-6032005e| SHA1SU0 V0.S4, V19.S4, V0.S4
-f918285e| SHA1SU1 V7.S4, V25.S4
-fb50035e| SHA256H2 V3.S4, V7, V27
-6d421c5e| SHA256H V28.S4, V19, V13
-c12b285e| SHA256SU0 V30.S4, V1.S4
-6362095e| SHA256SU1 V9.S4, V19.S4, V3.S4
-a805bb0e| VSHADD V27.S2, V13.S2, V8.S2
-783b616e| VSHLL2 $16, V27.H8, V24.S4
-48841b0f| VSHRN $5, V2.S4, V8.H4
-a924bc4e| VSHSUB V28.S4, V5.S4, V9.S4
-1557717f| VSLI $49, V24, V21
-2a56456f| VSLI $5, V17.D2, V10.D2
-7c663b0e| VSMAX V27.B8, V19.B8, V28.B8
-b5a7694e| VSMAXP V9.H8, V29.H8, V21.H8
-8ea8b04e| VSMAXV V4.S4, V14
-936cb44e| VSMIN V20.S4, V4.S4, V19.S4
-15af7e4e| VSMINP V30.H8, V24.H8, V21.H8
-3e81694e| VSMLAL2 V9.H8, V9.H8, V30.S4
-29a26d0e| VSMLSL V13.H4, V17.H4, V9.S4
-442e0b4e| SMOV V18.B[5], R4
-e1a0540f| VSMULL V4.H[1], V7.H4, V1.S4
-5eaa604f| VSMULL2 V0.H[6], V18.H8, V30.S4
-4cc32d4e| VSMULL2 V13.B16, V26.B16, V12.H8
-1e7a205e| VSQABS V16, V30
-e67ae04e| VSQABS V23.D2, V6.D2
-a80ded5e| VSQADD V13, V13, V8
-e60dae4e| VSQADD V14.S4, V15.S4, V6.S4
-fe33570f| VSQDMLAL V7.H[1], V31.H4, V30.S4
-ee90b64e| VSQDMLAL2 V22.S4, V7.S4, V14.D2
-ce79a05f| VSQDMLSL V0.S[3], V14, V14
-d5b2a14e| VSQDMLSL2 V1.S4, V22.S4, V21.D2
-51cb575f| VSQDMULH V7.H[5], V26, V17
-0cb5b54e| VSQDMULH V21.S4, V8.S4, V12.S4
-95d0760e| VSQDMULL V22.H4, V4.H4, V21.S4
-a1d37c4e| VSQDMULL2 V28.H8, V29.H8, V1.S4
-d679e07e| VSQNEG V14, V22
-3f78602e| VSQNEG V1.H4, V31.H4
-80b4717e| VSQRDMULH V17, V4, V0
-4cb76e2e| VSQRDMULH V14.H4, V26.H4, V12.H4
-aa5ce95e| VSQRSHL V9, V5, V10
-d25fb74e| VSQRSHL V23.S4, V30.S4, V18.S4
-998c0c6f| VSQRSHRUN2 $4, V4.H8, V25.B16
-4375605f| VSQSHL $32, V10, V3
-de743f0f| VSQSHL $31, V6.S2, V30.S2
-a84d675e| VSQSHL V7, V13, V8
-674dbe4e| VSQSHL V30.S4, V11.S4, V7.S4
-5165587f| VSQSHLU $24, V10, V17
-b464042f| VMVNI $(133<<24), V20.S2
-2086207f| VSQSHRUN $32, V17, V0
-8a851a2f| VSQSHRUN $6, V12.S4, V10.H4
-652c255e| VSQSUB V5, V3, V5
-632eb30e| VSQSUB V19.S2, V19.S2, V3.S2
-104ba15e| VSQXTN V24, V16
-2249214e| VSQXTN2 V9.H8, V2.B16
-1c14360e| VSRHADD V22.B8, V0.B8, V28.B8
-8044076f| VMVNI $(228<<16), V0.S4
-3a57ed5e| VSRSHL V13, V25, V26
-2c56ef4e| VSRSHL V15.D2, V17.D2, V12.D2
-9627140f| VSRSHR $12, V28.H4, V22.H4
-bd37565f| VSRSRA $42, V29, V29
-db34594f| VSRSRA $39, V6.D2, V27.D2
-4546a10e| VSSHL V1.S2, V18.S2, V5.S2
-aca7020f| VMOVI $(93<<8), V12.H4
-e004675f| VSSHR $25, V7, V0
-e5057f4f| VSSHR $1, V15.D2, V5.D2
-1b15595f| VSSRA $39, V8, V27
-ba15250f| VSSRA $27, V13.S2, V26.S2
-3620330e| VSSUBL V19.B8, V1.B8, V22.H8
-c1316d4e| VSSUBW2 V13.H8, V14.S4, V1.S4
-8a76000c| VST1 [V10.H4], (R20)
-10a5004c| VST1 [V16.H8, V17.H8], (R8)
-ab6b004c| VST1 [V11.S4, V12.S4, V13.S4], (R29)
-8d2b004c| VST1 [V13.S4, V14.S4, V15.S4, V16.S4], (R28)
-8d7d9f0c| VST1.P [V13.D1], 8(R12)
-eb73840c| VST1.P [V11.B8], (RSP)(R4)
-48a69f4c| VST1.P [V8.H8, V9.H8], 32(R18)
-dca19b4c| VST1.P [V28.B16, V29.B16], (R14)(R27)
-7c699f4c| VST1.P [V28.S4, V29.S4, V30.S4], 48(R11)
-da6d870c| VST1.P [V26.D1, V27.D1, V28.D1], (R14)(R7)
-7f279f0c| VST1.P [V31.H4, V0.H4, V1.H4, V2.H4], 32(R27)
-4421810c| VST1.P [V4.B8, V5.B8, V6.B8, V7.B8], (R10)(R1)
-a615004d| VST1 V6.B[13], (R13)
-ce92000d| VST1 V14.S[1], (R22)
-c985000d| VST1 V9.D[0], (R14)
-380f9f0d| VST1.P V24.B[3], 1(R25)
-de0b944d| VST1.P V30.B[10], (R30)(R20)
-3141880d| VST1.P V17.H[0], (R9)(R8)
-8e939f0d| VST1.P V14.S[1], 4(R28)
-c890870d| VST1.P V8.S[1], (R6)(R7)
-9f869f4d| VST1.P V31.D[1], 8(R20)
-38879b4d| VST1.P V24.D[1], (R25)(R27)
-4181004c| VST2 (R10), [V1.B16, V2.B16]
-d6819f0c| VST2 16(R14), [V22.B8, V23.B8]
-bf808a0c| VST2 (R5)(R10), [V31.B8, V0.B8]
-bd0e204d| ST2 (R21), [V29.B, V30.B][11]
-4551204d| ST2 (R10), [V5.H, V6.H][6]
-9982204d| ST2 (R20), [V25.S, V26.S][2]
-ea86200d| ST2 (R23), [V10.D, V11.D][0]
-7b02bf0d| ST2 2(R19), [V27.B, V28.B][0]
-c000a04d| ST2 (R6)(R0), [V0.B, V1.B][8]
-fb59a40d| ST2 (R15)(R4), [V27.H, V28.H][3]
-f880bf0d| ST2 8(R7), [V24.S, V25.S][0]
-f582ac4d| ST2 (R23)(R12), [V21.S, V22.S][2]
-9c86bf4d| ST2 16(R20), [V28.D, V29.D][1]
-3386b14d| ST2 (R17)(R17), [V19.D, V20.D][1]
-c0469f0c| VST3 24(R22), [V0.H4, V1.H4, V2.H4]
-2243820c| VST3 (R25)(R2), [V2.B8, V3.B8, V4.B8]
-c629000d| ST3 (R14), [V6.B, V7.B, V8.B][2]
-4f6a004d| ST3 (R18), [V15.H, V16.H, V17.H][5]
-72a0004d| ST3 (R3), [V18.S, V19.S, V20.S][2]
-c1a4000d| ST3 (R6), [V1.D, V2.D, V3.D][0]
-312e9f0d| ST3 3(R17), [V17.B, V18.B, V19.B][3]
-9a28934d| ST3 (R4)(R19), [V26.B, V27.B, V28.B][10]
-a1799f4d| ST3 6(R13), [V1.H, V2.H, V3.H][7]
-3ba29f0d| ST3 12(R17), [V27.S, V28.S, V29.S][0]
-80b2870d| ST3 (R20)(R7), [V0.S, V1.S, V2.S][1]
-f6a49f4d| ST3 24(R7), [V22.D, V23.D, V24.D][1]
-8fa69a4d| ST3 (R20)(R26), [V15.D, V16.D, V17.D][1]
-ee09000c| VST4 (R15), [V14.S2, V15.S2, V16.S2, V17.S2]
-1e07880c| VST4 (R24)(R8), [V30.H4, V31.H4, V0.H4, V1.H4]
-6426204d| ST4 (R19), [V4.B, V5.B, V6.B, V7.B][9]
-4ea2204d| ST4 (R18), [V14.S, V15.S, V16.S, V17.S][2]
-05a6200d| ST4 (R16), [V5.D, V6.D, V7.D, V8.D][0]
-5b21bf0d| ST4 4(R10), [V27.B, V28.B, V29.B, V30.B][0]
-ce28a00d| ST4 (R6)(R0), [V14.B, V15.B, V16.B, V17.B][2]
-767bbf4d| ST4 8(R27), [V22.H, V23.H, V24.H, V25.H][7]
-747aa24d| ST4 (R19)(R2), [V20.H, V21.H, V22.H, V23.H][7]
-24b0bf0d| ST4 16(R1), [V4.S, V5.S, V6.S, V7.S][1]
-c7b1a90d| ST4 (R14)(R9), [V7.S, V8.S, V9.S, V10.S][1]
-9fa4bf4d| ST4 32(R4), [V31.D, V0.D, V1.D, V2.D][1]
-70a4ab4d| ST4 (R3)(R11), [V16.D, V17.D, V18.D, V19.D][1]
-89fe2e2c| VSTNP -140(R20), V31, V9
-bfd31d6c| VSTNP 472(R29), V20, V31
-ddf301ac| VSTNP 48(R30), V28, V29
-14f6ac2c| STP.P (V20, V29), -156(R16)
-251db76c| STP.P (V5, V7), -144(R9)
-e51fb7ac| STP.P (V5, V7), -288(RSP)
-5c90852d| STP.W (V28, V4), 44(R2)
-4c51a56d| STP.W (V12, V20), -432(R10)
-265d8aad| STP.W (V6, V23), 320(R9)
-9c0c392d| STP (V28, V3), -56(R4)
-b49e1e6d| STP (V20, V7), 488(R21)
-55f105ad| STP (V21, V28), 176(R10)
-4dd6003c| MOVD.P V13, 13(R18)
-e357067c| MOVD.P V3, 101(RSP)
-f6841dbc| FMOVS.P F22, -40(R7)
-54b710fc| FMOVD.P F20, -245(R26)
-0d07833c| MOVD.P V13, 48(R24)
-393f003c| MOVD.W V25, 3(R25)
-1fac007c| MOVD.W V31, 10(R0)
-d41d13bc| FMOVS.W F20, -207(R14)
-908f0dfc| FMOVD.W F16, 216(R28)
-5ded9d3c| MOVD.W V29, -34(R10)
-6d72073d| MOVD V13, 476(R19)
-68752d7d| MOVD V8, 5818(R11)
-084728bd| FMOVS F8, 10308(R24)
-409503fd| FMOVD F0, 1832(R10)
-58a1963d| MOVD V24, 23168(R10)
-51c8253c| MOVD V17, (R2)(R5.SXTW)
-967b313c| MOVD V22, (R28)(R17)
-b4683e7c| MOVD V20, (R5)(R30)
-64d9a33c| MOVD V4, (R11)(R3.SXTW<<4)
-e5e1143c| MOVD V5, -178(R15)
-99901e7c| MOVD V25, -23(R4)
-bb0012bc| FMOVS F27, -224(R5)
-1d710cfc| FMOVD F29, 199(R8)
-17e1873c| MOVD V23, 126(R8)
-ed84a26e| VSUB V2.S4, V7.S4, V13.S4
-7761b80e| VSUBHN V24.D2, V11.D2, V23.S2
-f838205e| VSUQADD V7, V24
-7739600e| VSUQADD V11.H4, V23.H4
-26a5204f| VSXTL2 V9.S4, V6.D2
-5a201a4e| VTBL V26.B16, [V2.B16, V3.B16], V26.B16
-c2400f0e| VTBL V15.B8, [V6.B16, V7.B16, V8.B16], V2.B8
-7263024e| VTBL V2.B16, [V27.B16, V28.B16, V29.B16, V30.B16], V18.B16
-bb010b4e| VTBL V11.B16, [V13.B16], V27.B16
-5f31184e| VTBX V24.B16, [V10.B16, V11.B16], V31.B16
-a952100e| VTBX V16.B8, [V21.B16, V22.B16, V23.B16], V9.B8
-4872170e| VTBX V23.B8, [V18.B16, V19.B16, V20.B16, V21.B16], V8.B8
-dc110e4e| VTBX V14.B16, [V14.B16], V28.B16
-d7289a4e| VTRN1 V26.S4, V6.S4, V23.S4
-cd6a924e| VTRN2 V18.S4, V22.S4, V13.S4
-a552392e| VUABAL V25.B8, V21.B8, V5.H8
-a653256e| VUABAL2 V5.B16, V29.B16, V6.H8
-fb70b42e| VUABDL V20.S2, V7.S2, V27.D2
-3b6a202e| VUADALP V17.B8, V27.H4
-8a03b22e| VUADDL V18.S2, V28.S2, V10.D2
-262a206e| VUADDLP V17.B16, V6.H8
-8410312e| VUADDW V17.B8, V4.H8, V4.H8
-bf11ae6e| VUADDW2 V14.S4, V13.D2, V31.D2
-a7e65d7f| UCVTF $35, F21, F7
-8bda617e| UCVTFDD F20, F11
-7fb8431e| UCVTF $18, R3, F31
-1c0f039e| UCVTF $61, R24, F28
-2241439e| UCVTF $48, R9, F2
-d701231e| UCVTFWS R14, F23
-9600631e| UCVTFWD R4, F22
-8b01239e| UCVTFS R12, F11
-7202639e| UCVTFD R19, F18
-3406b82e| VUHADD V24.S2, V17.S2, V20.S2
-9264612e| VUMAX V1.H4, V4.H4, V18.H4
-d9a5772e| VUMAXP V23.H4, V14.H4, V25.H4
-74a8b06e| VUMAXV V3.S4, V20
-24a8312e| VUMINV V1.B8, V4
-c5218e2f| VUMLAL V14.S[0], V14.S2, V5.D2
-3d20a76f| VUMLAL2 V7.S[1], V1.S4, V29.D2
-90817e6e| VUMLAL2 V30.H8, V12.H8, V16.S4
-0f69a46f| VUMLSL2 V4.S[3], V8.S4, V15.D2
-4aa27c2e| VUMLSL V28.H4, V18.H4, V10.S4
-48a27b6e| VUMLSL2 V27.H8, V18.H8, V8.S4
-833c0d0e| VMOV V4.B[6], R3
-e2a1b22f| VUMULL V18.S[1], V15.S2, V2.D2
-07c06f2e| VUMULL V15.H4, V0.H4, V7.S4
-470e367e| VUQADD V22, V18, V7
-490e252e| VUQADD V5.B8, V18.B8, V9.B8
-bf5eaa7e| VUQRSHL V10, V21, V31
-c49c347f| VUQRSHRN $12, V6, V4
-b4757a7f| VUQSHL $58, V13, V20
-d14f777e| VUQSHL V23, V30, V17
-9e2d7a7e| VUQSUB V26, V12, V30
-a62c296e| VUQSUB V9.B16, V5.B16, V6.B16
-5d4ba17e| VUQXTN V26, V29
-454b212e| VUQXTN V26.H8, V5.B8
-1c48a16e| VUQXTN2 V0.D2, V28.S4
-4157736e| VURSHL V19.H8, V26.H8, V1.H8
-2d26797f| VURSHR $7, V17, V13
-bd27466f| VURSHR $58, V29.D2, V29.D2
-bcc8a12e| VURSQRTE V5.S2, V28.S2
-f5345d7f| VURSRA $35, V7, V21
-f8353a6f| VURSRA $6, V15.S4, V24.S4
-85a6342f| VUSHLL $20, V20.S2, V5.D2
-e7a70e6f| VUSHLL2 $6, V31.B16, V7.H8
-ed04787f| VUSHR $8, V7, V13
-8f07362f| VUSHR $10, V28.S2, V15.S2
-963a607e| VUSQADD V20, V22
-383a206e| VUSQADD V17.B16, V24.B16
-ef16596f| VUSRA $39, V23.D2, V15.D2
-f222ab2e| VUSUBL V11.S2, V23.S2, V18.D2
-9220696e| VUSUBL2 V9.H8, V4.H8, V18.S4
-0130312e| VUSUBW V17.B8, V0.H8, V1.H8
-a932a06e| VUSUBW2 V0.S4, V21.D2, V9.D2
-9a19910e| VUZP1 V17.S2, V12.S2, V26.S2
-a379ca4e| VZIP2 V10.D2, V13.D2, V3.D2
-1202011a| ADCW R1, R16, R18
-6900199a| ADC R25, R3, R9
-01010f3a| ADCSW R15, R8, R1
-13010fba| ADCS R15, R8, R19
-55ed280b| ADDW R8.SXTX<<3, R10, R21
-2077268b| ADD R6.UXTX<<5, R25, R0
-7f40560b| ADDW R22>>16, R3, ZR
-3a16282b| ADDSW R8.UXTB<<5, R17, R26
-f8a336ab| ADDS R22.SXTH, RSP, R24
-000e6d31| ADDSW $(2883<<12), R16, R0
-b48e49b1| ADDS $(611<<12), R21, R20
-7e174e2b| ADDSW R14>>5, R27, R30
-3aa13f12| ANDW $66978814, R9, R26
-32a23592| AND $-571965880182769649, R17, R18
-b478070a| ANDW R7<<30, R5, R20
-dd1f988a| AND R24->7, R30, R29
-a7351b72| ANDSW $524256, R13, R7
-1c056ef2| ANDS $786432, R8, R28
-defd52ea| ANDS R18>>63, R14, R30
-8c28d01a| ASRW R16, R4, R12
-582ac09a| ASR R0, R18, R24
-647d1813| ASRW $24, R11, R4
-d1fe5b93| ASR $27, R22, R17
-2329c31a| ASRW R3, R9, R3
-d929d69a| ASR R22, R14, R25
-aefa5354| BAL 171989(PC)
-76ad3917| JMP -12997258(PC)
-de320f33| BFIW $17, R22, $13, R30
-af144db3| BFI $51, R5, $6, R15
-161c7eb3| BFI $2, R0, $8, R22
-f9791733| BFXILW $23, R15, $8, R25
-781577b3| BFI $9, R11, $6, R24
-0f65f98a| BIC R25@>25, R8, R15
-2c37e16a| BICSW R1@>13, R25, R12
-a6f473ea| BICS R19>>61, R5, R6
-f064ad96| CALL -22190864(PC)
-80023fd6| CALL (R20)
-00001fd6| JMP (R0)
-80de3ed4| BRK $63220
-08276a35| CBNZW R8, 217400(PC)
-acd1c0b5| CBNZ R12, -129395(PC)
-ef50bf34| CBZW R15, -132473(PC)
-4bd681b4| CBZ R11, -258382(PC)
-4e2a483a| CCMNW HS, R18, $8, $14
-4a3a4eba| CCMN LO, R18, $14, $10
-0143553a| CCMNW MI, R24, R21, $1
-c09359ba| CCMN LS, R30, R25, $0
-020a567a| CCMPW EQ, R16, $22, $2
-a6985afa| CCMP LS, R5, $26, $6
-6fc0487a| CCMPW GT, R3, R8, $15
-21d14bfa| CCMP LE, R9, R11, $1
-75f5991a| CSINCW AL, R11, R25, R21
-5a25919a| CSINC HS, R10, R17, R26
-6a938c5a| CSINVW LS, R27, R12, R10
-6a408eda| CSINV MI, R3, R14, R10
-5f3603d5| CLREX $6
-a017c05a| CLSW R29, R0
-2616c0da| CLS R17, R6
-9411c05a| CLZW R12, R20
-c611c0da| CLZ R14, R6
-9fc3322b| CMNW R18.SXTW, R28
-3f9638ab| CMN R24.SXTB<<5, R17
-3f681db1| CMN $1882, R1
-bfd15bab| CMN R27>>52, R13
-ff723b6b| CMPW R27.UXTX<<4, R23
-1f5234eb| CMP R20.UXTW<<4, R16
-9fb22a71| CMPW $2732, R20
-df2478f1| CMP $(3593<<12), R6
-bf07026b| CMPW R2<<1, R29
-bfc514eb| CMP R20<<49, R13
-d494975a| CSNEGW LS, R6, R23, R20
-763591da| CSNEG LO, R11, R17, R22
-b440c91a| CRC32B R9, R5, R20
-5745cd1a| CRC32H R13, R10, R23
-684ad01a| CRC32W R16, R19, R8
-884fd59a| CRC32X R21, R28, R8
-ea50c61a| CRC32CB R6, R7, R10
-1357cf1a| CRC32CH R15, R24, R19
-9859c21a| CRC32CW R2, R12, R24
-6e5fde9a| CRC32CX R30, R27, R14
-9340941a| CSELW MI, R4, R20, R19
-dd42839a| CSEL MI, R22, R3, R29
-fe779f1a| CSETW VS, R30
-f1279f9a| CSET LO, R17
-eb839f5a| CSETMW LS, R11
-e3139fda| CSETM EQ, R3
-a986841a| CSINCW HI, R21, R4, R9
-19b78b9a| CSINC LT, R24, R11, R25
-4643835a| CSINVW MI, R26, R3, R6
-5ee38cda| CSINV AL, R26, R12, R30
-d166945a| CSNEGW VS, R22, R20, R17
-55f793da| CSNEG AL, R26, R19, R21
-0158add4| DCPS1 $27328
-82ceb2d4| DCPS2 $38516
-a31eb3d4| DCPS3 $39157
-bf3203d5| DMB $2
-e003bfd6| DRPS
-9f3403d5| DSB $4
-2e2faeca| EON R14->11, R25, R14
-de6b0152| EORW $2214592511, R30, R30
-4a7714d2| EOR $-13194139536385, R26, R10
-2cea0dca| EOR R13<<58, R17, R12
-e0039fd6| ERET
-834cce93| EXTR $19, R14, R4, R3
-5f2003d5| WFE
-bf2e03d5| HINT $117
-e0f055d4| HLT $44935
-df3403d5| ISB $4
-22fcdf88| LDARW (R1), R2
-78fedfc8| LDAR (R19), R24
-cffcdf08| LDARB (R6), R15
-34fedf48| LDARH (R17), R20
-17bb7f88| LDAXPW (R24), (R23, R14)
-6ffe7fc8| LDAXP (R19), (R15, ZR)
-acfe5f88| LDAXRW (R21), R12
-cafe5fc8| LDAXR (R22), R10
-ddfd5f08| LDAXRB (R14), R29
-0efd5f48| LDAXRH (R8), R14
-66445128| LDNPW 136(R3), R17, R6
-3fa77fa8| LDNP -8(R25), R9, ZR
-1e04eb28| LDP.P -168(R0), (R30, R1)
-0da6c0a8| LDP.P 8(R16), (R13, R9)
-7d00d429| LDP.W 160(R3), (R29, R0)
-d26ae1a9| LDP.W -496(R22), (R18, R26)
-d0ca6829| LDP -188(R22), (R16, R18)
-a5e34fa9| LDP 248(R29), (R5, R24)
-3e44d168| LDPSW 136(R1), R17, R30
-5f08e169| LDPSW -248(R2), R2, ZR
-430d6769| LDPSW -200(R10), R3, R3
-2c555bb8| MOVWU.P -75(R9), R12
-83c557f8| MOVD.P -132(R12), R3
-f36e47b8| MOVWU.W 118(R23), R19
-6b1f48f8| MOVD.W 129(R27), R11
-f5d64ab9| MOVWU 2772(R23), R21
-872d7cf9| MOVD 30808(R12), R7
-82a75438| MOVBU.P -182(R28), R2
-a7fd5738| MOVBU.W -129(R13), R7
-c83d4239| MOVBU 143(R14), R8
-58c96438| MOVBU (R10)(R4.SXTW), R24
-8e687e38| MOVBU (R4)(R30), R14
-70575378| MOVHU.P -203(R27), R16
-015f5078| MOVHU.W -251(R24), R1
-7add5c79| MOVHU 3694(R11), R26
-2fcb7778| MOVHU (R25)(R23.SXTW), R15
-c474c338| MOVBW.P 55(R6), R4
-28869638| MOVB.P -152(R17), R8
-fe3fd438| MOVBW.W -189(RSP), R30
-da0f9938| MOVB.W -112(R30), R26
-5b3ac739| MOVBW 462(R18), R27
-2c579e39| MOVB 1941(R25), R12
-54faf838| MOVBW (R18)(R24.SXTX), R20
-fb68f238| MOVBW (R7)(R18), R27
-f26aad38| MOVB (R23)(R13), R18
-17e4c978| MOVHW.P 158(R0), R23
-a2759f78| MOVH.P -9(R13), R2
-9c6ec478| MOVHW.W 70(R20), R28
-fd6f8278| MOVH.W 38(RSP), R29
-a82bc279| MOVHW 276(R29), R8
-9d89b979| MOVH 7364(R12), R29
-962685b8| MOVW.P 82(R20), R22
-76ae8bb8| MOVW.W 186(R19), R22
-fc2193b9| MOVW 4896(R15), R28
-e34842b8| LDTRW 36(R7), R3
-4ff84df8| LDTR 223(R2), R15
-d9e84f38| LDTRBW 254(R6), R25
-397b5378| LDTRH -201(R25), R25
-c4c9d138| LDTRSBW -228(R14), R4
-02789638| LDTRSB -153(R0), R2
-a988cb78| LDTRSHW 184(R5), R9
-03888978| LDTRSH 152(R0), R3
-ccb99fb8| LDTRSW -5(R14), R12
-efb154b8| LDURW -181(R15), R15
-fc2051f8| LDUR -238(R7), R28
-86d04438| LDURBW 77(R4), R6
-73405d78| LDURHW -44(R3), R19
-7a81d538| LDURSBW -168(R11), R26
-b0b28038| LDURSB 11(R21), R16
-b4a1d278| LDURSHW -214(R13), R20
-3ed18078| LDURSH 13(R9), R30
-09628eb8| LDURSW 230(R16), R9
-c07e7f88| LDXPW (R22), (R0, ZR)
-3e167fc8| LDXP (R17), (R30, R5)
-727c5f88| LDXRW (R3), R18
-487c5fc8| LDXR (R2), R8
-867d5f08| LDXRB (R12), R6
-747f5f48| LDXRH (R27), R20
-d920d71a| LSLW R23, R6, R25
-b920c59a| LSL R5, R5, R25
-4da947d3| UBFX $7, R10, $36, R13
-be23ca1a| LSLW R10, R29, R30
-cc20d19a| LSL R17, R6, R12
-ae26c31a| LSRW R3, R21, R14
-fc27cb9a| LSR R11, ZR, R28
-2b7e1053| LSRW $16, R17, R11
-cefe75d3| LSR $53, R22, R14
-3b25d01a| LSRW R16, R9, R27
-e826d79a| LSR R23, R23, R8
-5504031b| MADDW R3, R1, R2, R21
-9e5c109b| MADD R16, R23, R4, R30
-00fe1f1b| MNEGW ZR, R16, R0
-6efe179b| MNEG R23, R19, R14
-31020011| ADDW $0, R17, R17
-21000091| ADD $0, R1, R1
-39f1bf12| MOVW $7798783, R25
-53b3e992| MOVD $-5591781887333892097, R19
-c0fd9552| MOVW $45038, R0
-f16b97d2| MOVD $47967, R17
-e8972232| MOVW $3222257679, R8
-e27323b2| MOVD $-2017612633531744257, R2
-e9030e2a| MOVW R14, R9
-fb0310aa| MOVD R16, R27
-d0e48472| MOVKW $10022, R16
-432dbcf2| MOVK $(57706<<16), R3
-4b679612| MOVW $4294921413, R11
-9121e492| MOVD $-2381278302972149761, R17
-00be90d2| MOVD $34288, R0
-91d730d5| MRS $1724, R17
-cf301fd5| MSR R15, S3_7_C3_C0_6
-daea181b| MSUBW R24, R26, R22, R26
-e1a7109b| MSUB R16, R9, ZR, R1
-477f0d1b| MULW R13, R26, R7
-a17d1c9b| MUL R28, R13, R1
-fc9b79aa| MVN R25>>38, R28
-f71b904b| NEGW R16->6, R23
-e3df4acb| NEG R10>>55, R3
-f0334e6b| NEGSW R14>>12, R16
-e6031f5a| NGCW ZR, R6
-f40302da| NGC R2, R20
-ee03137a| NGCSW R19, R14
-ee0303fa| NGCS R3, R14
-1f2003d5| NOP
-ab14e92a| ORNW R9@>5, R5, R11
-185c3faa| ORN ZR<<23, R0, R24
-a8850c32| ORRW $3145776, R13, R8
-cad023b2| ORR $-2025524839466146845, R6, R10
-5487ccaa| ORR R12@>33, R26, R20
-293783f9| PRFM 1640(R25), PLIL1STRM
-501010d8| PRFM 32898(PC), PSTL1KEEP
-bc7389f8| PRFUM 151(R29), $28
-9203c05a| RBITW R28, R18
-0501c0da| RBIT R8, R5
-40005fd6| RET R2
-940ac05a| REVW R20, R20
-ca0fc0da| REV R30, R10
-7807c05a| REV16W R27, R24
-fb06c0da| REV16 R23, R27
-dc0ac0da| REV32 R22, R28
-970dc0da| REV R12, R23
-42408813| EXTRW $16, R8, R2, R2
-5a96db93| EXTR $37, R27, R18, R26
-782cc41a| RORW R4, R3, R24
-8c2ec69a| ROR R6, R20, R12
-372ec61a| RORW R6, R17, R23
-b72ddc9a| ROR R28, R13, R23
-e501185a| SBCW R24, R15, R5
-ac0011da| SBC R17, R5, R12
-7a03067a| SBCSW R6, R27, R26
-310008fa| SBCS R8, R1, R17
-65837f93| SBFIZ $1, R27, $33, R5
-5c1b4793| SBFIZ $57, R26, $7, R28
-a71f5b93| SBFIZ $37, R29, $8, R7
-640ede1a| SDIVW R30, R19, R4
-2a0dd99a| SDIV R25, R9, R10
-9f2003d5| SEV
-bf2003d5| SEVL
-045c389b| SMADDL R24, R23, R0, R4
-6efe3e9b| SMNEGL R30, R19, R14
-ebac239b| SMSUBL R3, R11, R7, R11
-947f459b| SMULH R5, R28, R20
-d67e3e9b| SMULL R30, R22, R22
-6dff9f88| STLRW R13, (R27)
-1ffd9fc8| STLR ZR, (R8)
-a8fe9f08| STLRB R8, (R21)
-abfd9f48| STLRH R11, (R13)
-2ec02888| STLXPW (R14, R16), (R1), R8
-11993ec8| STLXP (R17, R6), (R8), R30
-bbfe0f88| STLXRW R27, (R21), R15
-e9fc09c8| STLXR R9, (R7), R9
-c6fe0708| STLXRB R6, (R22), R7
-c6fe0c48| STLXRH R6, (R22), R12
-b3283028| STNPW -128(R5), R10, R19
-252e26a8| STNP -416(R17), R11, R5
-9fb18c28| STP.P (ZR, R12), 100(R12)
-9ce5aba8| STP.P (R28, R25), -328(R12)
-e5d08229| STP.W (R5, R20), 20(R7)
-d6e79ea9| STP.W (R22, R25), 488(R30)
-9eef2029| STP (R30, R27), -252(R28)
-57b314a9| STP (R23, R12), 328(R26)
-eda503b8| MOVW.P R13, 58(R15)
-62241df8| MOVD.P R2, -46(R3)
-d2bd18b8| MOVW.W R18, -117(R14)
-542d12f8| MOVD.W R20, -222(R10)
-e92c3bb9| MOVW R9, 15148(R7)
-de4804f9| MOVD R30, 2192(R6)
-cce40b38| MOVB.P R12, 190(R6)
-eafd1238| MOVB.W R10, -209(R15)
-7fcb0639| MOVB ZR, 434(R27)
-03f82738| MOVB R3, (R0)(R7.SXTX)
-5c6a3e38| MOVB R28, (R18)(R30)
-a8551978| MOVH.P R8, -107(R13)
-9e6c0c78| MOVH.W R30, 198(R4)
-c83d0e79| MOVH R8, 1822(R14)
-502a1db8| STTRW -46(R18), R16
-ae180af8| STTR 161(R5), R14
-ea1a0138| STTRBW 17(R23), R10
-416b0278| STTRHW 38(R26), R1
-659107b8| MOVW R5, 121(R11)
-6b611ff8| MOVD R11, -10(R11)
-99a01c38| MOVB R25, -54(R4)
-99421e78| MOVH R25, -28(R20)
-3e2a2688| STXPW (R30, R10), (R17), R6
-2f6a2cc8| STXP (R15, R26), (R17), R12
-7d7f1b88| STXRW R29, (R27), R27
-6e7e1bc8| STXR R14, (R19), R27
-ec7c0208| STXRB R12, (R7), R2
-ee7f0648| STXRH R14, (RSP), R6
-2f8d204b| SUBW R0.SXTB<<3, R9, R15
-1fbe3acb| SUB R26.SXTH<<7, R16, RSP
-5af778d1| SUB $(3645<<12), R26, R26
-6729034b| SUBW R3<<10, R11, R7
-ae683f6b| SUBSW ZR.UXTX<<2, R5, R14
-2f993deb| SUBS R29.SXTB<<6, R9, R15
-db0d5f71| SUBSW $(1987<<12), R14, R27
-3aec1ff1| SUBS $2043, R1, R26
-1f24016b| CMPW R1<<9, R0
-a1ae1bd4| SVC $56693
-a61e0013| SXTBW R21, R6
-441c4093| SXTB R2, R4
-0c3c0013| SXTHW R0, R12
-b33f4093| SXTH R29, R19
-407f4093| SXTW R26, R0
-455929d5| SYSL $88384, R5
-bf8c1f72| TSTW $1966110, R5
-ff10836a| TSTW R3->4, R7
-dfc5daea| TST R26@>49, R14
-aa6e43d3| UBFX $3, R21, $25, R10
-46181a53| UBFIZW $6, R2, $7, R6
-43294bd3| LSL $53, R10, R3
-77787dd3| UBFIZ $3, R3, $31, R23
-1a0bd61a| UDIVW R22, R24, R26
-9308c19a| UDIV R1, R4, R19
-755aa19b| UMADDL R1, R22, R19, R21
-1ffdbe9b| UMNEGL R30, R8, ZR
-cbaaba9b| UMSUBL R26, R10, R22, R11
-0c7fdb9b| UMULH R27, R24, R12
-cc7da79b| UMULL R7, R14, R12
-3d1c0053| UXTBW R1, R29
-0e3f0053| UXTHW R24, R14
-5f2003d5| WFE
-7f2003d5| WFI
-3f2003d5| YIELD
-71b9604e| VABS V11.H8, V17.H8
-5186f65e| VADD V22, V18, V17
-4986f34e| VADD V19.D2, V18.D2, V9.D2
-1243720e| VADDHN V18.S4, V24.S4, V18.H4
-0640354e| VADDHN2 V21.H8, V0.H8, V6.B16
-d9bdfa4e| VADDP V26.D2, V14.D2, V25.D2
-4c59284e| AESD V10.B16, V12.B16
-8c48284e| AESE V4.B16, V12.B16
-f47a284e| AESIMC V23.B16, V20.B16
-c56b284e| AESMC V30.B16, V5.B16
-bf1c3b0e| VAND V27.B8, V5.B8, V31.B8
-6444026f| VMVNI $(67<<16), V4.S4
-1357032f| VBIC $(120<<16), V19.S2
-561d6a0e| VBIC V10.B8, V10.B8, V22.B8
-cd1ff06e| VBIF V16.B16, V30.B16, V13.B16
-f31ebd6e| VBIT V29.B16, V23.B16, V19.B16
-6f1d6c2e| VBSL V12.B8, V11.B8, V15.B8
-1e48600e| VCLS V0.H4, V30.H4
-6948202e| VCLZ V3.B8, V9.B8
-968efd7e| VCMEQ V29, V20, V22
-e58f6d6e| VCMEQ V13.H8, V31.H8, V5.H8
-8f98600e| VCMEQ $0, V4.H4, V15.H4
-4f3db84e| VCMGE V24.S4, V10.S4, V15.S4
-2788a02e| VCMGE $0, V1.S2, V7.S2
-bf35714e| VCMGT V17.H8, V13.H8, V31.H8
-4a89604e| VCMGT $0, V10.H8, V10.H8
-9635252e| VCMHI V5.B8, V12.B8, V22.B8
-d83eff6e| VCMHS V31.D2, V22.D2, V24.D2
-cb99206e| VCMLE $0, V14.B16, V11.B16
-29a9604e| VCMLT $0, V9.H8, V9.H8
-d18eea5e| VCMTST V10, V22, V17
-d18ea94e| VCMTST V9.S4, V22.S4, V17.S4
-4a04075e| VMOV V2.B[3], V10
-0504040e| VDUP V0.S[0], V5.S2
-b20e1f4e| VDUP R21, V18.B16
-2a1f3e6e| VEOR V30.B16, V25.B16, V10.B16
-0bd5aa7e| FABD F10, F8, F11
-12d7b96e| VFABD V25.S4, V24.S4, V18.S4
-a1f9a04e| FABS V13.S4, V1.S4
-1ac3201e| FABSS F24, F26
-d8c3601e| FABSD F30, F24
-95ee267e| FACGE F6, F20, F21
-2bee262e| VFACGE V6.S2, V17.S2, V11.S2
-1aedec7e| FACGT F12, F8, F26
-74effa6e| VFACGT V26.D2, V27.D2, V20.D2
-7ed4260e| FADD V6.S2, V3.S2, V30.S2
-4528251e| FADDS F5, F2, F5
-262b661e| FADDD F6, F25, F6
-84d8707e| FADDP V4.D2, F4
-71d4276e| VFADDP V7.S4, V3.S4, V17.S4
-a5f43f1e| FCCMPS AL, F31, F5, $5
-20e5601e| FCCMPD AL, F0, F9, $0
-52d4331e| FCCMPES LE, F19, F2, $2
-1e66761e| FCCMPED VS, F22, F16, $14
-d7e6695e| FCMEQ F9, F22, F23
-e7d9a05e| FCMEQ $0, F15, F7
-dadaa04e| VFCMEQ $0, V22.S4, V26.S4
-28e5737e| FCMGE F19, F9, F8
-a2e73a6e| VFCMGE V26.S4, V29.S4, V2.S4
-4fcba07e| FCMGE $0, F26, F15
-43c8a02e| VFCMGE $0, V2.S2, V3.S2
-ffe5a67e| FCMGT F6, F15, F31
-7ee7bd2e| VFCMGT V29.S2, V27.S2, V30.S2
-5bc8e05e| FCMGT $0, F2, F27
-3dc9a04e| VFCMGT $0, V9.S4, V29.S4
-38daa07e| FCMLE $0, F17, F24
-8fdaa02e| VFCMLE $0, V20.S2, V15.S2
-93e8e05e| FCMLT $0, F4, F19
-9fe9a04e| VFCMLT $0, V12.S4, V31.S4
-a023201e| FCMPS F0, F29
-c822231e| FCMPS $(0.0), F22
-a022651e| FCMPD F5, F21
-a8227d1e| FCMPD $(0.0), F21
-70203e1e| FCMPES F30, F3
-38232b1e| FCMPES $(0.0), F25
-70206c1e| FCMPED F12, F3
-b823731e| FCMPED $(0.0), F29
-3e6f331e| FCSELS VS, F25, F19, F30
-a64f6d1e| FCSELD MI, F29, F13, F6
-0d41e21e| FCVTHS F8, F13
-cbc0e21e| FCVTHD F6, F11
-18c0231e| FCVTSH F0, F24
-a7c0221e| FCVTSD F5, F7
-e7c3631e| FCVTDH F31, F7
-9f43621e| FCVTDS F28, F31
-a0c8215e| FCVTAS F5, F0
-4dc8210e| VFCVTAS V2.S2, V13.S2
-0300241e| FCVTASW F0, R3
-fd03249e| FCVTAS F31, R29
-ef01641e| FCVTASW F15, R15
-4c01649e| FCVTAS F10, R12
-9ac8617e| FCVTAU F4, F26
-b802251e| FCVTAUW F21, R24
-2a03259e| FCVTAU F25, R10
-ea00651e| FCVTAUW F7, R10
-0102659e| FCVTAU F16, R1
-0d7a610e| VFCVTL V16.S2, V13.D2
-ed79214e| VFCVTL2 V15.H8, V13.S4
-43bb615e| FCVTMS F26, F3
-c000301e| FCVTMSW F6, R0
-9202309e| FCVTMS F20, R18
-0800701e| FCVTMSW F0, R8
-6603709e| FCVTMS F27, R6
-f0b9217e| FCVTMU F15, F16
-3bba212e| VFCVTMU V17.S2, V27.S2
-5900311e| FCVTMUW F2, R25
-9a03319e| FCVTMU F28, R26
-fa01711e| FCVTMUW F15, R26
-6f01719e| FCVTMU F11, R15
-1968210e| VFCVTN V0.S4, V25.H4
-3d69214e| VFCVTN2 V9.S4, V29.H8
-87aa615e| FCVTNS F20, F7
-e301201e| FCVTNSW F15, R3
-6002209e| FCVTNS F19, R0
-1600601e| FCVTNSW F0, R22
-8503609e| FCVTNS F28, R5
-f5ab617e| FCVTNU F31, F21
-2b02211e| FCVTNUW F17, R11
-f902219e| FCVTNU F23, R25
-0702611e| FCVTNUW F16, R7
-9d03619e| FCVTNU F28, R29
-dcaba15e| FCVTPS F30, F28
-b4a8a10e| VFCVTPS V5.S2, V20.S2
-5302281e| FCVTPSW F18, R19
-e003289e| FCVTPS F31, R0
-9501681e| FCVTPSW F12, R21
-6703689e| FCVTPS F27, R7
-68a8a17e| FCVTPU F3, F8
-dcaba12e| VFCVTPU V30.S2, V28.S2
-9d03291e| FCVTPUW F28, R29
-5f01299e| FCVTPU F10, ZR
-e101691e| FCVTPUW F15, R1
-3f00699e| FCVTPU F1, ZR
-ee6b612e| VFCVTXN V31.D2, V14.S2
-b1fd215f| FCVTZS $31, F13, F17
-bafd2c0f| FCVTZS $20, V13.S2, V26.S2
-47b8e15e| FCVTZSDD F2, F7
-dcbbe14e| FCVTZS V30.D2, V28.D2
-56f8181e| FCVTZS $2, F2, R22
-9265189e| FCVTZS $39, F12, R18
-d3ad581e| FCVTZS $21, F14, R19
-3d9b589e| FCVTZS $26, F25, R29
-1a00381e| FCVTZSSW F0, R26
-d302389e| FCVTZSS F22, R19
-5303781e| FCVTZSDW F26, R19
-8f01789e| FCVTZSD F12, R15
-57fe537f| FCVTZU $45, F18, F23
-beff796f| FCVTZU $7, V29.D2, V30.D2
-08b9e17e| FCVTZUDD F8, F8
-cdbbe16e| FCVTZU V30.D2, V13.D2
-2126199e| FCVTZU $55, F17, R1
-70a9591e| FCVTZU $22, F11, R16
-8c25599e| FCVTZU $55, F12, R12
-1201391e| FCVTZUSW F8, R18
-0800399e| FCVTZUS F0, R8
-da00791e| FCVTZUDW F6, R26
-2903799e| FCVTZUD F25, R9
-56fd3f2e| FDIV V31.S2, V10.S2, V22.S2
-1f182e1e| FDIVS F14, F0, F31
-ce1b741e| FDIVD F20, F30, F14
-0d61021f| FMADDS F2, F24, F8, F13
-03205e1f| FMADDD F30, F8, F0, F3
-72f6654e| FMAX V5.D2, V19.D2, V18.D2
-1849281e| FMAXS F8, F8, F24
-8e4a6e1e| FMAXD F14, F20, F14
-54c7304e| FMAXNM V16.S4, V26.S4, V20.S4
-91683a1e| FMAXNMS F26, F4, F17
-f56a721e| FMAXNMD F18, F23, F21
-c8cb307e| FMAXNMP V30.S2, F8
-06c9306e| FMAXNMV V8.S4, F6
-b6fb707e| FMAXP V29.D2, F22
-1759341e| FMINS F20, F8, F23
-675b721e| FMIND F18, F27, F7
-69792d1e| FMINNMS F13, F11, F9
-ab786b1e| FMINNMD F11, F5, F11
-0fcab07e| FMINNMP V16.S2, F15
-d2c6b26e| VFMINNMP V18.S4, V22.S4, V18.S4
-22fab07e| FMINP V17.S2, F2
-f5f5f56e| VFMINP V21.D2, V15.D2, V21.D2
-bc13c95f| FMLA V9.D[0], F29, F28
-5d51a85f| FMLS V8.S[1], F10, F29
-d3ccb94e| VFMLS V25.S4, V6.S4, V19.S4
-5bf4014f| FMOV $9., V27.S4
-5bf5026f| FMOV $0.203125, V27.D2
-6541201e| FMOVS F11, F5
-b742601e| FMOVD F21, F23
-6002271e| FMOVS R19, F0
-5301261e| FMOVS F10, R19
-c103679e| FMOVD R30, F1
-3301af9e| FMOV R9, V19.D[1]
-bd00669e| FMOVD F5, R29
-ee02ae9e| FMOV V23.D[1], R14
-0ff0251e| FMOVS $15.5, F15
-16506a1e| FMOVD $0.28125, F22
-d1c20e1f| FMSUBS F14, F16, F22, F17
-fdae491f| FMSUBD F9, F11, F23, F29
-a4989d4f| FMUL V29.S[2], V5.S4, V4.S4
-efde706e| FMUL V16.D2, V23.D2, V15.D2
-190a291e| FMULS F9, F16, F25
-430a671e| FMULD F7, F18, F3
-21919e7f| FMULX V30.S[0], F9, F1
-5298c76f| VFMULX V7.D[1], V2.D2, V18.D2
-1ddf3c5e| FMULX F28, F24, F29
-a2fba06e| FNEG V29.S4, V2.S4
-7a40211e| FNEGS F3, F26
-f843611e| FNEGD F31, F24
-326b381f| FNMADDS F24, F26, F25, F18
-4b636a1f| FNMADDD F10, F24, F26, F11
-48fa201f| FNMSUBS F0, F30, F18, F8
-04d87f1f| FNMSUBD F31, F22, F0, F4
-0289371e| FNMULS F23, F8, F2
-0e8a691e| FNMULD F9, F16, F14
-05dba15e| FRECPE F24, F5
-42d9a14e| VFRECPE V10.S4, V2.S4
-2eff655e| FRECPS F5, F25, F14
-03fe774e| VFRECPS V23.D2, V16.D2, V3.D2
-b4fba15e| FRECPX F29, F20
-9d41261e| FRINTAS F12, F29
-ea42661e| FRINTAD F23, F10
-e399a16e| FRINTI V15.S4, V3.S4
-6ec3271e| FRINTIS F27, F14
-ecc1671e| FRINTID F15, F12
-4543251e| FRINTMS F26, F5
-f242651e| FRINTMD F23, F18
-898a214e| FRINTN V20.S4, V9.S4
-1641241e| FRINTNS F8, F22
-5341641e| FRINTND F10, F19
-248be14e| FRINTP V25.D2, V4.D2
-35c2241e| FRINTPS F17, F21
-6fc3641e| FRINTPD F27, F15
-0940271e| FRINTXS F0, F9
-4643671e| FRINTXD F26, F6
-749aa14e| FRINTZ V19.S4, V20.S4
-8bc0251e| FRINTZS F4, F11
-7cc1651e| FRINTZD F11, F28
-dedbe17e| FRSQRTE F30, F30
-04daa16e| VFRSQRTE V16.S4, V4.S4
-cdfce45e| FRSQRTS F4, F6, F13
-d9fda04e| VFRSQRTS V0.S4, V14.S4, V25.S4
-c5c1211e| FSQRTS F14, F5
-67c1611e| FSQRTD F11, F7
-a4d6b14e| FSUB V17.S4, V21.S4, V4.S4
-6138351e| FSUBS F21, F3, F1
-be3b6a1e| FSUBD F10, F29, F30
-4d2f016e| VMOV V26.B[5], V13.B[0]
-741e174e| VMOV R19, V20.B[11]
-e170404c| VLD1 (R7), [V1.B16]
-7aa9404c| VLD1 (R11), [V26.S4, V27.S4]
-4b6d400c| VLD1 (R10), [V11.D1, V12.D1, V13.D1]
-582b400c| VLD1 (R26), [V24.S2, V25.S2, V26.S2, V27.S2]
-8f7cdf4c| VLD1.P 16(R4), [V15.D2]
-0a76ce4c| VLD1.P (R16)(R14), [V10.H8]
-2aa6df0c| VLD1.P 16(R17), [V10.H4, V11.H4]
-35a7d70c| VLD1.P (R25)(R23), [V21.H4, V22.H4]
-ae6ddf4c| VLD1.P 48(R13), [V14.D2, V15.D2, V16.D2]
-b362d74c| VLD1.P (R21)(R23), [V19.B16, V20.B16, V21.B16]
-6d22df0c| VLD1.P 32(R19), [V13.B8, V14.B8, V15.B8, V16.B8]
-6722c90c| VLD1.P (R19)(R9), [V7.B8, V8.B8, V9.B8, V10.B8]
-c71f404d| VLD1 (R30), V7.B[15]
-f55a400d| VLD1 (R23), V21.H[3]
-f080400d| VLD1 (R7), V16.S[0]
-ed84404d| VLD1 (R7), V13.D[1]
-fd0bdf4d| VLD1.P 1(RSP), V29.B[10]
-c811dc0d| VLD1.P (R14)(R28), V8.B[4]
-6548cb4d| VLD1.P (R3)(R11), V5.H[5]
-9882df4d| VLD1.P 4(R20), V24.S[2]
-f482c74d| VLD1.P (R23)(R7), V20.S[2]
-0d87df0d| VLD1.P 8(R24), V13.D[0]
-1b85db0d| VLD1.P (R8)(R27), V27.D[0]
-58c3404d| VLD1R (R26), [V24.B16]
-c0c6df4d| VLD1R 2(R22), [V0.H8]
-a6cec90d| VLD1R (R21)(R9), [V6.D1]
-e68a400c| VLD2 (R23), [V6.S2, V7.S2]
-4007604d| LD2 (R26), [V0.B, V1.B][9]
-8c49604d| LD2 (R12), [V12.H, V13.H][5]
-4f92600d| LD2 (R18), [V15.S, V16.S][1]
-b186600d| LD2 (R21), [V17.D, V18.D][0]
-631aff0d| LD2 2(R19), [V3.B, V4.B][6]
-330ceb4d| LD2 (R1)(R11), [V19.B, V20.B][11]
-454bff4d| LD2 4(R26), [V5.H, V6.H][5]
-0792ff0d| LD2 8(R16), [V7.S, V8.S][1]
-3b91fd0d| LD2 (R9)(R29), [V27.S, V28.S][1]
-b086ff4d| LD2 16(R21), [V16.D, V17.D][1]
-da86e30d| LD2 (R22)(R3), [V26.D, V27.D][0]
-e7cf604d| VLD2R (RSP), [V7.D2, V8.D2]
-5ac8ff0d| VLD2R 8(R2), [V26.S2, V27.S2]
-13c1f10d| VLD2R (R8)(R17), [V19.B8, V20.B8]
-0947404c| VLD3 (R24), [V9.H8, V10.H8, V11.H8]
-8043df0c| VLD3 24(R28), [V0.B8, V1.B8, V2.B8]
-6344d50c| VLD3 (R3)(R21), [V3.H4, V4.H4, V5.H4]
-663d400d| LD3 (R11), [V6.B, V7.B, V8.B][7]
-5b6b400d| LD3 (R26), [V27.H, V28.H, V29.H][1]
-02a0404d| LD3 (R0), [V2.S, V3.S, V4.S][2]
-e1a5404d| LD3 (R15), [V1.D, V2.D, V3.D][1]
-b53edf0d| LD3 3(R21), [V21.B, V22.B, V23.B][7]
-f625d10d| LD3 (R15)(R17), [V22.B, V23.B, V24.B][1]
-3d7bda4d| LD3 (R25)(R26), [V29.H, V30.H, V31.H][7]
-6ea0df0d| LD3 12(R3), [V14.S, V15.S, V16.S][0]
-d9a0c60d| LD3 (R6)(R6), [V25.S, V26.S, V27.S][0]
-b6a7df0d| LD3 24(R29), [V22.D, V23.D, V24.D][0]
-dfa6d94d| LD3 (R22)(R25), [V31.D, V0.D, V1.D][1]
-7de9404d| VLD3R (R11), [V29.S4, V30.S4, V31.S4]
-2fe6df4d| VLD3R 6(R17), [V15.H8, V16.H8, V17.H8]
-cae7c84d| VLD3R (R30)(R8), [V10.H8, V11.H8, V12.H8]
-9a0b400c| VLD4 (R28), [V26.S2, V27.S2, V28.S2, V29.S2]
-4b03df0c| VLD4 32(R26), [V11.B8, V12.B8, V13.B8, V14.B8]
-8e0bcc4c| VLD4 (R28)(R12), [V14.S4, V15.S4, V16.S4, V17.S4]
-182c604d| LD4 (R0), [V24.B, V25.B, V26.B, V27.B][11]
-feb2600d| LD4 (R23), [V30.S, V31.S, V0.S, V1.S][1]
-59a4604d| LD4 (R2), [V25.D, V26.D, V27.D, V28.D][1]
-9b25ff4d| LD4 4(R12), [V27.B, V28.B, V29.B, V30.B][9]
-1f35e84d| LD4 (R8)(R8), [V31.B, V0.B, V1.B, V2.B][13]
-91b2ff4d| LD4 16(R20), [V17.S, V18.S, V19.S, V20.S][3]
-88b3ed4d| LD4 (R28)(R13), [V8.S, V9.S, V10.S, V11.S][3]
-9aa5ff4d| LD4 32(R12), [V26.D, V27.D, V28.D, V29.D][1]
-efa5e10d| LD4 (R15)(R1), [V15.D, V16.D, V17.D, V18.D][0]
-07ed604d| VLD4R (R8), [V7.D2, V8.D2, V9.D2, V10.D2]
-0defff0d| VLD4R 32(R24), [V13.D1, V14.D1, V15.D1, V16.D1]
-43e1f14d| VLD4R (R10)(R17), [V3.B16, V4.B16, V5.B16, V6.B16]
-136e682c| VLDNP -192(R16), V27, V19
-cc67676c| VLDNP -400(R30), V25, V12
-e6dd4eac| VLDNP 464(R15), V23, V6
-b7e9c22c| LDP.P 20(R13), (V23, V26)
-92c3fe6c| LDP.P -24(R28), (V18, V16)
-f281e6ac| LDP.P -816(R15), (V18, V0)
-4f06cd2d| LDP.W 104(R18), (V15, V1)
-0f6fdc6d| LDP.W 448(R24), (V15, V27)
-170ccbad| LDP.W 352(R0), (V23, V3)
-71ea7a2d| LDP -44(R19), (V17, V26)
-c8816c6d| LDP -312(R14), (V8, V0)
-da6540ad| LDP (R14), (V26, V25)
-92064c3c| MOVD.P 192(R20), V18
-94d4577c| MOVD.P -131(R4), V20
-39055fbc| FMOVS.P -16(R9), F25
-989551fc| FMOVD.P -231(R12), F24
-4764c23c| MOVD.P 38(R2), V7
-c15e4e3c| MOVD.W 229(R22), V1
-c8ce487c| MOVD.W 140(R22), V8
-ca5d5bbc| FMOVS.W -75(R14), F10
-34fd56fc| FMOVD.W -145(R9), F20
-bd0dd53c| MOVD.W -176(R13), V29
-ab65443d| MOVD 281(R13), V11
-cb57537d| MOVD 2474(R30), V11
-f2606fbd| FMOVS 12128(R7), F18
-088b67fd| FMOVD 20240(R24), F8
-0173ce3d| MOVD 14784(R24), V1
-ba112c1c| FMOVS 90253(PC), F26
-e489c25c| FMOVD -125873(PC), F4
-3cdb753c| MOVD (R25)(R21.SXTW), V28
-726b733c| MOVD (R27)(R19), V18
-395b627c| MOVD (R25)(R2.UXTW<<1), V25
-9b486cbc| FMOVS (R4)(R12.UXTW), F27
-1cda7efc| FMOVD (R16)(R30.SXTW<<3), F28
-365bf33c| MOVD (R25)(R19.UXTW<<4), V22
-43a1413c| VLDUR 26(R10), V3
-c7034f7c| VLDUR 240(R30), V7
-ad8350bc| VLDUR -248(R29), V13
-07a350fc| VLDUR -246(R24), V7
-0212c63c| VLDUR 97(R16), V2
-6f0a7a2f| VMLA V10.H[7], V19.H4, V15.H4
-fe95294e| VMLA V9.B16, V15.B16, V30.B16
-f24a4f2f| VMLS V15.H[4], V23.H4, V18.H4
-26947e2e| VMLS V30.H4, V1.H4, V6.H4
-6606115e| VMOV V19.B[8], V6
-0866116e| VMOV V16.B[12], V8.B[8]
-6e1d0f4e| VMOV R11, V14.B[7]
-6d1fa10e| VORR V1.B8, V27.B8, V13.B8
-b93f1a0e| VMOV V29.H[6], R25
-74e7020f| VMOVI $91, V20.B8
-0ff4040f| FMOV $-2., V15.S2
-4c47060f| VMOVI $(218<<16), V12.S2
-aa06064f| VMOVI $213, V10.S4
-8de4042f| VMOVI $-72057594021216256, V13
-b1e6046f| VMOVI $-72056498804555521, V17.D2
-609f214e| VMUL V1.B16, V27.B16, V0.B16
-9f5a206e| VMVN V20.B16, V31.B16
-da65032f| VMVNI $(110<<24), V26.S2
-4d36036f| VBIC $(114<<8), V13.S4
-4d66052f| VMVNI $(178<<24), V13.S2
-a4bbe06e| VNEG V29.D2, V4.D2
-bf5a206e| VMVN V21.B16, V31.B16
-2b1fe24e| VORN V2.B16, V25.B16, V11.B16
-22e4024f| VMOVI $65, V2.B16
-3086050f| VMOVI $177, V16.H4
-051db80e| VORR V24.B8, V8.B8, V5.B8
-48e2290e| VPMULL V9.B8, V18.B8, V8.H8
-7341652e| VRADDHN V5.S4, V11.S4, V19.H4
-1b417f6e| VRADDHN2 V31.S4, V8.S4, V27.H8
-e158606e| VRBIT V7.B16, V1.B16
-f418200e| VREV16 V7.B8, V20.B8
-228d2a0f| VRSHRN $22, V9.D2, V2.S2
-a861aa2e| VRSUBHN V10.D2, V13.D2, V8.S2
-7160786e| VRSUBHN2 V24.S4, V3.S4, V17.H8
-cc7f314e| VSABA V17.B16, V30.B16, V12.B16
-1350644e| VSABAL2 V4.H8, V0.H8, V19.S4
-a1757d4e| VSABD V29.H8, V13.H8, V1.H8
-0971a00e| VSABDL V0.S2, V8.S2, V9.D2
-af70214e| VSABDL2 V1.B16, V5.B16, V15.H8
-626ba04e| VSADALP V27.S4, V2.D2
-1503374e| VSADDL2 V23.B16, V24.B16, V21.H8
-592b204e| VSADDLP V26.B16, V25.H8
-d813600e| VSADDW V0.H4, V30.S4, V24.S4
-31e5210f| SCVTF $31, V9.S2, V17.S2
-aeda215e| SCVTFSS F21, F14
-f0e9021e| SCVTF $6, R15, F16
-42b4421e| SCVTF $19, R2, F2
-8b10029e| SCVTF $60, R4, F11
-59e6429e| SCVTF $7, R18, F25
-cf01221e| SCVTFWS R14, F15
-2d03621e| SCVTFWD R25, F13
-af00229e| SCVTFS R5, F15
-bf00629e| SCVTFD R5, F31
-2a02025e| SHA1C V2.S4, V17, V10
-8b0b285e| SHA1H V28, V11
-11201f5e| SHA1M V31.S4, V0, V17
-f110115e| SHA1P V17.S4, V7, V17
-b732115e| SHA1SU0 V17.S4, V21.S4, V23.S4
-cf18285e| SHA1SU1 V6.S4, V15.S4
-2e520f5e| SHA256H2 V15.S4, V17, V14
-77401a5e| SHA256H V26.S4, V3, V23
-b92a285e| SHA256SU0 V21.S4, V25.S4
-7e63175e| SHA256SU1 V23.S4, V27.S4, V30.S4
-d504ab0e| VSHADD V11.S2, V6.S2, V21.S2
-5a54734f| VSHL $51, V2.D2, V26.D2
-0638212e| VSHLL $8, V0.B8, V6.H8
-a238216e| VSHLL2 $8, V5.B16, V2.H8
-f5863e0f| VSHRN $2, V23.D2, V21.S2
-f187234f| VSHRN2 $29, V31.D2, V17.S4
-e124b04e| VSHSUB V16.S4, V7.S4, V1.S4
-3657252f| VSLI $5, V25.S2, V22.S2
-c266aa4e| VSMAX V10.S4, V22.S4, V2.S4
-2c6ca74e| VSMIN V7.S4, V1.S4, V12.S4
-4aae390e| VSMINP V25.B8, V18.B8, V10.B8
-1a82ba0e| VSMLAL V26.S2, V16.S2, V26.D2
-2381ad4e| VSMLAL2 V13.S4, V9.S4, V3.D2
-0da17a4e| VSMLSL2 V26.H8, V8.H8, V13.S4
-4f2e0d4e| SMOV V18.B[6], R15
-e4a0980f| VSMULL V24.S[0], V7.S2, V4.D2
-51c2220e| VSMULL V2.B8, V18.B8, V17.H8
-01c26d4e| VSMULL2 V13.H8, V16.H8, V1.S4
-f978205e| VSQABS V7, V25
-760cef5e| VSQADD V15, V3, V22
-390c224e| VSQADD V2.B16, V1.B16, V25.B16
-5439455f| VSQDMLAL V5.H[4], V10, V20
-8391765e| VSQDMLAL V22, V12, V3
-c9907a4e| VSQDMLAL2 V26.H8, V6.H8, V9.S4
-0b73445f| VSQDMLSL V4.H[0], V24, V11
-8e728d0f| VSQDMLSL V13.S[0], V20.S2, V14.D2
-fe787d4f| VSQDMLSL2 V13.H[7], V7.H8, V30.S4
-bdb2b55e| VSQDMLSL V21, V21, V29
-d0c9be4f| VSQDMULH V30.S[3], V14.S4, V16.S4
-89b77c5e| VSQDMULH V28, V28, V9
-c9bb515f| VSQDMULL V1.H[5], V30, V9
-5379e07e| VSQNEG V10, V19
-4b7aa06e| VSQNEG V18.S4, V11.S4
-1bd1750f| VSQRDMULH V5.H[3], V8.H4, V27.H4
-f55e755e| VSQRSHL V21, V23, V21
-ba5fbd4e| VSQRSHL V29.S4, V29.S4, V26.S4
-ba9d1e0f| VSQRSHRN $2, V13.S4, V26.H4
-3d9c284f| VSQRSHRN2 $24, V1.D2, V29.S4
-8a8f2c6f| VSQRSHRUN2 $20, V28.D2, V10.S4
-eb760b5f| VSQSHL $3, V23, V11
-4a77220f| VSQSHL $2, V26.S2, V10.S2
-6c4cfb5e| VSQSHL V27, V3, V12
-ad4eba4e| VSQSHL V26.S4, V21.S4, V13.S4
-9364257f| VSQSHLU $5, V4, V19
-b267392f| VSQSHLU $25, V29.S2, V18.S2
-c085042f| VMVNI $142, V0.H4
-7584326f| VSQSHRUN2 $14, V3.D2, V21.S4
-3a2fe25e| VSQSUB V2, V25, V26
-2c2ca34e| VSQSUB V3.S4, V1.S4, V12.S4
-484ba15e| VSQXTN V26, V8
-824b210e| VSQXTN V28.H8, V2.B8
-5b48214e| VSQXTN2 V2.H8, V27.B16
-e228a16e| VSQXTUN2 V7.D2, V2.S4
-1c44416f| VSRI $63, V0.D2, V28.D2
-1e56eb5e| VSRSHL V11, V16, V30
-bb56fe4e| VSRSHL V30.D2, V21.D2, V27.D2
-c6262d0f| VSRSHR $19, V22.S2, V6.S2
-0c366c5f| VSRSRA $20, V16, V12
-13376e4f| VSRSRA $18, V24.D2, V19.D2
-7ba5040f| VMOVI $(139<<8), V27.H4
-9c076f5f| VSSHR $17, V28, V28
-2804434f| VSSHR $61, V1.D2, V8.D2
-b717535f| VSSRA $45, V29, V23
-c2160f0f| VSSRA $1, V22.B8, V2.B8
-8a333a4e| VSSUBW2 V26.B16, V28.H8, V10.H8
-3a70000c| VST1 [V26.B8], (R1)
-1bab004c| VST1 [V27.S4, V28.S4], (R24)
-8d69004c| VST1 [V13.S4, V14.S4, V15.S4], (R12)
-9c26004c| VST1 [V28.H8, V29.H8, V30.H8, V31.H8], (R20)
-c87a9f0c| VST1.P [V8.S2], 8(R22)
-5a7f800c| VST1.P [V26.D1], (R26)(R0)
-eea99f4c| VST1.P [V14.S4, V15.S4], 32(R15)
-11af9d4c| VST1.P [V17.D2, V18.D2], (R24)(R29)
-ec689f0c| VST1.P [V12.S2, V13.S2, V14.S2], 24(R7)
-8662900c| VST1.P [V6.B8, V7.B8, V8.B8], (R20)(R16)
-0b249f4c| VST1.P [V11.H8, V12.H8, V13.H8, V14.H8], 64(R0)
-6b2d8b4c| VST1.P [V11.D2, V12.D2, V13.D2, V14.D2], (R11)(R11)
-3212004d| VST1 V18.B[12], (R17)
-3392004d| VST1 V19.S[3], (R17)
-0284000d| VST1 V2.D[0], (R0)
-340f9f0d| VST1.P V20.B[3], 1(R25)
-0d069a4d| VST1.P V13.B[9], (R16)(R26)
-2e51950d| VST1.P V14.H[2], (R9)(R21)
-3f839f0d| VST1.P V31.S[0], 4(R25)
-1492844d| VST1.P V20.S[3], (R16)(R4)
-dd869f4d| VST1.P V29.D[1], 8(R22)
-2e869b4d| VST1.P V14.D[1], (R17)(R27)
-1e87000c| VST2 (R24), [V30.H4, V31.H4]
-07829f0c| VST2 16(R16), [V7.B8, V8.B8]
-d38a884c| VST2 (R22)(R8), [V19.S4, V20.S4]
-541c204d| ST2 (R2), [V20.B, V21.B][15]
-9180200d| ST2 (R4), [V17.S, V18.S][0]
-2585204d| ST2 (R9), [V5.D, V6.D][1]
-2f06bf4d| ST2 2(R17), [V15.B, V16.B][9]
-3b08b44d| ST2 (R1)(R20), [V27.B, V28.B][10]
-805bbf0d| ST2 4(R28), [V0.H, V1.H][3]
-fb80bf0d| ST2 8(R7), [V27.S, V28.S][0]
-6290a80d| ST2 (R3)(R8), [V2.S, V3.S][1]
-b587bf4d| ST2 16(R29), [V21.D, V22.D][1]
-2c84b64d| ST2 (R1)(R22), [V12.D, V13.D][1]
-22469f0c| VST3 24(R17), [V2.H4, V3.H4, V4.H4]
-0e30004d| ST3 (R0), [V14.B, V15.B, V16.B][12]
-62a1004d| ST3 (R11), [V2.S, V3.S, V4.S][2]
-54a4000d| ST3 (R2), [V20.D, V21.D, V22.D][0]
-84259f4d| ST3 3(R12), [V4.B, V5.B, V6.B][9]
-693c9d4d| ST3 (R3)(R29), [V9.B, V10.B, V11.B][15]
-5b709f0d| ST3 6(R2), [V27.H, V28.H, V29.H][2]
-e47a960d| ST3 (R23)(R22), [V4.H, V5.H, V6.H][3]
-a0a39f0d| ST3 12(R29), [V0.S, V1.S, V2.S][0]
-37b0890d| ST3 (R1)(R9), [V23.S, V24.S, V25.S][1]
-9aa59f4d| ST3 24(R12), [V26.D, V27.D, V28.D][1]
-26a5924d| ST3 (R9)(R18), [V6.D, V7.D, V8.D][1]
-3e05000c| VST4 (R9), [V30.H4, V31.H4, V0.H4, V1.H4]
-a8039f0c| VST4 32(R29), [V8.B8, V9.B8, V10.B8, V11.B8]
-4126204d| ST4 (R18), [V1.B, V2.B, V3.B, V4.B][9]
-3b71204d| ST4 (R9), [V27.H, V28.H, V29.H, V30.H][6]
-f2b3204d| ST4 (RSP), [V18.S, V19.S, V20.S, V21.S][3]
-7fa4200d| ST4 (R3), [V31.D, V0.D, V1.D, V2.D][0]
-562ebf4d| ST4 4(R18), [V22.B, V23.B, V24.B, V25.B][11]
-563cae0d| ST4 (R2)(R14), [V22.B, V23.B, V24.B, V25.B][7]
-1271bf4d| ST4 8(R8), [V18.H, V19.H, V20.H, V21.H][6]
-e7a1bf0d| ST4 16(R15), [V7.S, V8.S, V9.S, V10.S][0]
-f3b2a30d| ST4 (R23)(R3), [V19.S, V20.S, V21.S, V22.S][1]
-eca5bf4d| ST4 32(R15), [V12.D, V13.D, V14.D, V15.D][1]
-4ca7bb0d| ST4 (R26)(R27), [V12.D, V13.D, V14.D, V15.D][0]
-4f5b182c| VSTNP 192(R26), V22, V15
-e05e0b6c| VSTNP 176(R23), V23, V0
-77be2eac| VSTNP -560(R19), V15, V23
-bb3fa72c| STP.P (V27, V15), -200(R29)
-ef18bb6c| STP.P (V15, V6), -80(R7)
-777d84ac| STP.P (V23, V31), 128(R11)
-d0f9952d| STP.W (V16, V30), 172(R14)
-125ca26d| STP.W (V18, V23), -480(R0)
-33bbbfad| STP.W (V19, V14), -16(R25)
-6ebb322d| STP (V14, V14), -108(R27)
-cb92096d| STP (V11, V4), 152(R22)
-f2871dad| STP (V18, V1), 944(RSP)
-f676003c| MOVD.P V22, 7(R23)
-50f50d7c| MOVD.P V16, 223(R10)
-0d251ebc| FMOVS.P F13, -30(R8)
-1f3510fc| FMOVD.P F31, -253(R8)
-05a4883c| MOVD.P V5, 138(R0)
-800e063c| MOVD.W V0, 96(R20)
-668d157c| MOVD.W V6, -168(R11)
-1f3d11bc| FMOVS.W F31, -237(R8)
-71bf06fc| FMOVD.W F17, 107(R27)
-f50c843c| MOVD.W V21, 64(R7)
-f186013d| MOVD V17, 97(R23)
-f0e5357d| MOVD V16, 6898(R15)
-938d3bbd| FMOVS F19, 15244(R12)
-aeb813fd| FMOVD F14, 10096(R5)
-2cc4943d| MOVD V12, 21264(R1)
-e2f8263c| MOVD V2, (R7)(R6.SXTX)
-1d79373c| MOVD V29, (R8)(R23)
-bc70003c| MOVD V28, 7(R5)
-7190157c| MOVD V17, -167(R3)
-073309bc| FMOVS F7, 147(R24)
-298100fc| FMOVD F9, 8(R9)
-e8c1843c| MOVD V8, 76(R15)
-3384266e| VSUB V6.B16, V1.B16, V19.B16
-9163750e| VSUBHN V21.S4, V28.S4, V17.H4
-f3627d4e| VSUBHN2 V29.S4, V23.S4, V19.H8
-1939205e| VSUQADD V8, V25
-0638604e| VSUQADD V0.H8, V6.H8
-81a4284f| VSSHLL2 $8, V4.S4, V1.D2
-f920030e| VTBL V3.B8, [V7.B16, V8.B16], V25.B8
-71400e4e| VTBL V14.B16, [V3.B16, V4.B16, V5.B16], V17.B16
-bc630d4e| VTBL V13.B16, [V29.B16, V30.B16, V31.B16, V0.B16], V28.B16
-6803030e| VTBL V3.B8, [V27.B16], V8.B8
-4b32124e| VTBX V18.B16, [V18.B16, V19.B16], V11.B16
-8f50170e| VTBX V23.B8, [V4.B16, V5.B16, V6.B16], V15.B8
-5673020e| VTBX V2.B8, [V26.B16, V27.B16, V28.B16, V29.B16], V22.B8
-f2130f4e| VTBX V15.B16, [V31.B16], V18.B16
-9e29c34e| VTRN1 V3.D2, V12.D2, V30.D2
-9b6bcf4e| VTRN2 V15.D2, V28.D2, V27.D2
-157cb02e| VUABA V16.S2, V0.S2, V21.S2
-28513c2e| VUABAL V28.B8, V9.B8, V8.H8
-f950a26e| VUABAL2 V2.S4, V7.S4, V25.D2
-a776b26e| VUABD V18.S4, V21.S4, V7.S4
-da726b2e| VUABDL V11.H4, V22.H4, V26.S4
-9473746e| VUABDL2 V20.H8, V28.H8, V20.S4
-aa6b602e| VUADALP V29.H4, V10.S2
-ac013d2e| VUADDL V29.B8, V13.B8, V12.H8
-e500a86e| VUADDL2 V8.S4, V7.S4, V5.D2
-9c28a02e| VUADDLP V4.S2, V28.D1
-4c3a302e| VUADDLV V18.B8, V12
-2810b62e| VUADDW V22.S2, V1.D2, V8.D2
-f2132d6e| VUADDW2 V13.B16, V31.H8, V18.H8
-b3e67f7f| UCVTF $1, F21, F19
-ece5676f| UCVTF $25, V15.D2, V12.D2
-d7d8217e| UCVTFSS F6, F23
-cdd9212e| UCVTF V14.S2, V13.S2
-5788031e| UCVTF $30, R2, F23
-c7ac431e| UCVTF $21, R6, F7
-0777039e| UCVTF $35, R24, F7
-e4f4439e| UCVTF $3, R7, F4
-9100231e| UCVTFWS R4, F17
-e202631e| UCVTFWD R23, F2
-3903239e| UCVTFS R25, F25
-2001639e| UCVTFD R9, F0
-2a07b76e| VUHADD V23.S4, V25.S4, V10.S4
-dc25372e| VUHSUB V23.B8, V14.B8, V28.B8
-de646f2e| VUMAX V15.H4, V6.H4, V30.H4
-4ba6766e| VUMAXP V22.H8, V18.H8, V11.H8
-e26db42e| VUMIN V20.S2, V15.S2, V2.S2
-a7ae712e| VUMINP V17.H4, V21.H4, V7.H4
-afaa716e| VUMINV V21.H8, V15
-42298c2f| VUMLAL V12.S[2], V10.S2, V2.D2
-0a826e2e| VUMLAL V14.H4, V16.H4, V10.S4
-2681a06e| VUMLAL2 V0.S4, V9.S4, V6.D2
-2860bd6f| VUMLSL2 V29.S[1], V1.S4, V8.D2
-19a26b6e| VUMLSL2 V11.H8, V16.H8, V25.S4
-8a3d140e| VMOV V12.S[2], R10
-22a1ba6f| VUMULL2 V26.S[1], V9.S4, V2.D2
-15c0712e| VUMULL V17.H4, V0.H4, V21.S4
-2ec0296e| VUMULL2 V9.B16, V1.B16, V14.H8
-6e0fba7e| VUQADD V26, V27, V14
-db0fe06e| VUQADD V0.D2, V30.D2, V27.D2
-535e6c7e| VUQRSHL V12, V18, V19
-7c5cfe6e| VUQRSHL V30.D2, V3.D2, V28.D2
-9a9e327f| VUQRSHRN $14, V20, V26
-339f0b2f| VUQRSHRN $5, V25.H8, V19.B8
-7e77337f| VUQSHL $19, V27, V30
-8b4d657e| VUQSHL V5, V12, V11
-414c622e| VUQSHL V2.H4, V2.H4, V1.H4
-95942b2f| VUQSHRN $21, V4.D2, V21.S2
-d396246f| VUQSHRN2 $28, V22.D2, V19.S4
-b22ff27e| VUQSUB V18, V29, V18
-b32e756e| VUQSUB V21.H8, V21.H8, V19.H8
-0e4b616e| VUQXTN2 V24.S4, V14.H8
-ca16236e| VURHADD V3.B16, V22.B16, V10.B16
-1f57a26e| VURSHL V2.S4, V24.S4, V31.S4
-8324777f| VURSHR $9, V4, V3
-37caa16e| VURSQRTE V17.S4, V23.S4
-b735517f| VURSRA $47, V13, V23
-0a47f67e| VUSHL V22, V24, V10
-e7a71c2f| VUSHLL $12, V31.H4, V7.S4
-9c38607e| VUSQADD V4, V28
-dc39206e| VUSQADD V14.B16, V28.B16
-dc145d7f| VUSRA $35, V6, V28
-d720752e| VUSUBL V21.H4, V6.H4, V23.S4
-2c236f6e| VUSUBL2 V15.H8, V25.H8, V12.S4
-ed32222e| VUSUBW V2.B8, V23.H8, V13.H8
-72332d6e| VUSUBW2 V13.B16, V27.H8, V18.H8
-655a1c4e| VUZP2 V28.B16, V19.B16, V5.B16
-972a210e| VXTN V20.H8, V23.B8
-5f2aa14e| VXTN2 V18.D2, V31.S4
-9a38910e| VZIP1 V17.S2, V4.S2, V26.S2
-d979990e| VZIP2 V25.S2, V14.S2, V25.S2
-21004192| AND $-9223372036854775808, R1, R1
-0a011f1a| ADCW ZR, R8, R10
-4c00009a| ADC R0, R2, R12
-a602093a| ADCSW R9, R21, R6
-d60217ba| ADCS R23, R22, R22
-0921250b| ADDW R5.UXTH, R8, R9
-ee8e288b| ADD R8.SXTB<<3, R23, R14
-23123011| ADDW $3076, R17, R3
-23127011| ADDW $(3076<<12), R17, R3
-2ba32391| ADD $2280, R25, R11
-2ba36391| ADD $(2280<<12), R25, R11
-67158d0b| ADDW R13->5, R11, R7
-30da198b| ADD R25<<54, R17, R16
-a7e72c2b| ADDSW R12.SXTX<<1, R29, R7
-357338ab| ADDS R24.UXTX<<4, R25, R21
-6b147731| ADDSW $(3525<<12), R3, R11
-6b1477b1| ADDS $(3525<<12), R3, R11
-cd59872b| ADDSW R7->22, R14, R13
-e41f4eab| ADDS R14>>7, ZR, R4
-21004192| AND $-9223372036854775808, R1, R1
-a2430412| ANDW $4026540031, R29, R2
-93910e92| AND $34903429696192636, R12, R19
-7a1ec90a| ANDW R9@>7, R19, R26
-7a1ec98a| AND R9@>7, R19, R26
-17f30172| ANDSW $2863311530, R24, R23
-458051f2| ANDS $-140737488289793, R2, R5
-af629a6a| ANDSW R26->24, R21, R15
-7ab0deea| ANDS R30@>44, R3, R26
-792bcc1a| ASRW R12, R27, R25
-672bce9a| ASR R14, R27, R7
-79ff4b93| ASR $11, R27, R25
-797f0b13| ASRW $11, R27, R25
-ebffff54| BLT -1(PC)
-ffffff17| JMP -1(PC)
-80161033| BFIW $16, R20, $6, R0
-b95265b3| BFI $27, R21, $21, R25
-6e670333| BFXILW $3, R27, $23, R14
-14a55ab3| BFXIL $26, R8, $16, R20
-b03ce70a| BICW R7@>15, R5, R16
-9235ec8a| BIC R12@>13, R12, R18
-7450b96a| BICSW R25->20, R3, R20
-3730b3ea| BICS R19->12, R1, R23
-370033ea| BICS R19, R1, R23
-370073ea| BICS R19>>0, R1, R23
-ffffff97| CALL -1(PC)
-e0013fd6| CALL (R15)
-a0031fd6| JMP (R29)
-e08c31d4| BRK $35943
-e2ffff35| CBNZW R2, -1(PC)
-e7ffffb5| CBNZ R7, -1(PC)
-efffff34| CBZW R15, -1(PC)
-e1ffffb4| CBZ R1, -1(PC)
-e44341ba| CCMN MI, ZR, R1, $4
-4beb543a| CCMNW AL, R26, $20, $11
-015b46ba| CCMN PL, R24, $6, $1
-8602463a| CCMNW EQ, R20, R6, $6
-c6d34cba| CCMN LE, R30, R12, $6
-a76b4f7a| CCMPW VS, R29, $15, $7
-e3d853fa| CCMP LE, R7, $19, $3
-4022467a| CCMPW HS, R18, R6, $0
-c7b346fa| CCMP LT, R30, R6, $7
-e44341ba| CCMN MI, ZR, R1, $4
-ee279b1a| CSINCW HS, ZR, R27, R14
-4174819a| CSINC VC, R2, R1, R1
-5100955a| CSINVW EQ, R2, R21, R17
-573093da| CSINV LO, R2, R19, R23
-6e279b1a| CINCW LO, R27, R14
-7f379b1a| CINCW HS, R27, ZR
-5110825a| CINVW EQ, R2, R17
-87718cda| CINV VS, R12, R7
-de739eda| CINV VS, R30, R30
-5f3403d5| CLREX $4
-5f3003d5| CLREX $0
-e615c05a| CLSW R15, R6
-ff15c0da| CLS R15, ZR
-2e10c05a| CLZW R1, R14
-a912c0da| CLZ R21, R9
-ff11352b| CMNW R21.UXTB<<4, R15
-1f5220ab| CMN R0.UXTW<<4, R16
-3f214d2b| CMNW R13>>8, R9
-7f4486ab| CMN R6->17, R3
-bf084031| CMNW $(2<<12), R5
-9f2140b1| CMN $(8<<12), R12
-7f0086ab| CMN R6->0, R3
-7f0006ab| CMN R6, R3
-bf001e2b| CMNW R30, R5
-bf080031| CMNW $2, R5
-7f001fab| CMN ZR, R3
-7f0000ab| CMN R0, R3
-ff02266b| CMPW R6.UXTB, R23
-5fab39eb| CMP R25.SXTH<<2, R26
-bfa73bf1| CMP $3817, R29
-7f5c47eb| CMP R7>>23, R3
-2e45895a| CNEGW PL, R9, R14
-ae24895a| CSNEGW HS, R5, R9, R14
-c35595da| CSNEG PL, R14, R21, R3
-ef2487da| CNEG LO, R7, R15
-1041d11a| CRC32B R17, R8, R16
-bb46c31a| CRC32H R3, R21, R27
-c94bd61a| CRC32W R22, R30, R9
-8f4cd49a| CRC32X R20, R4, R15
-7653d21a| CRC32CB R18, R27, R22
-1454d51a| CRC32CH R21, R0, R20
-7558c91a| CRC32CW R9, R3, R21
-185ccb9a| CRC32CX R11, R0, R24
-8c30941a| CSELW LO, R4, R20, R12
-0ea08c9a| CSEL GE, R0, R12, R14
-e3b79f1a| CSETW GE, R3
-fea79f9a| CSET LT, R30
-e5639f5a| CSETMW VC, R5
-e4739fda| CSETM VS, R4
-bad4981a| CSINCW LE, R5, R24, R26
-5167909a| CSINC VS, R26, R16, R17
-e5e2955a| CSINVW AL, R23, R21, R5
-4e308bda| CSINV LO, R2, R11, R14
-0a269d5a| CSNEGW HS, R16, R29, R10
-ab1692da| CSNEG NE, R21, R18, R11
-418ea5d4| DCPS1 $11378
-6239a5d4| DCPS2 $10699
-e3ebabd4| DCPS3 $24415
-bf3103d5| DMB $1
-bf3003d5| DMB $0
-e003bfd6| DRPS
-9f3103d5| DSB $1
-c974354a| EONW R21<<29, R6, R9
-89b86eca| EON R14>>46, R4, R9
-76e343d2| EOR $-2287828610704211969, R27, R22
-536d8c4a| EORW R12->27, R10, R19
-d1ef02ca| EOR R2<<59, R30, R17
-e0039fd6| ERET
-591d8813| EXTRW $7, R8, R10, R25
-888dd693| EXTR $35, R22, R12, R8
-bf2003d5| SEVL
-df2003d5| HINT $6
-a0fc5fd4| HLT $65509
-df3103d5| ISB $1
-df3f03d5| ISB $15
-9dfddf88| LDARW (R12), R29
-d6ffdf88| LDARW (R30), R22
-f6ffdf88| LDARW (RSP), R22
-76ffdfc8| LDAR (R27), R22
-22ffdf08| LDARB (R25), R2
-a7fcdf48| LDARH (R5), R7
-54c17f88| LDAXPW (R10), (R20, R16)
-3eaf7fc8| LDAXP (R25), (R30, R11)
-e2fd5f88| LDAXRW (R15), R2
-f5fd5fc8| LDAXR (R15), R21
-70fe5f08| LDAXRB (R19), R16
-a8fc5f48| LDAXRH (R5), R8
-e9c55ab8| MOVWU.P -84(R15), R9
-48255df8| MOVD.P -46(R10), R8
-480540f8| MOVD.P (R10), R8
-703c57b8| MOVWU.W -141(R3), R16
-1dac57f8| MOVD.W -134(R0), R29
-393c50b9| MOVWU 4156(R1), R25
-498d5cf9| MOVD 14616(R10), R9
-87d86cb8| MOVWU (R4)(R12.SXTW<<2), R7
-f9586bf8| MOVD (R7)(R11.UXTW<<3), R25
-447866f8| MOVD (R2)(R6<<3), R4
-727a72b8| MOVWU (R19)(R18<<2), R18
-4ca44238| MOVBU.P 42(R2), R12
-4e5c5e38| MOVBU.W -27(R2), R14
-03936d39| MOVBU 2916(R24), R3
-adb54678| MOVHU.P 107(R13), R13
-420c4c78| MOVHU.W 192(R2), R2
-92787579| MOVHU 6844(R4), R18
-fb478238| MOVB.P 36(RSP), R27
-18ee9438| MOVB.W -178(R16), R24
-37958f39| MOVB 997(R9), R23
-e5368b78| MOVH.P 179(R23), R5
-361f9c78| MOVH.W -63(R25), R22
-4d6c8079| MOVH 54(R2), R13
-02669cb8| MOVW.P -58(R16), R2
-488e92b8| MOVW.W -216(R18), R8
-ea9e92b9| MOVW 4764(R23), R10
-172f7f88| LDXPW (R24), (R23, R11)
-10347fc8| LDXP (R0), (R16, R13)
-fe7f5f88| LDXRW (RSP), R30
-6c7f5fc8| LDXR (R27), R12
-047c5f08| LDXRB (R0), R4
-9a7d5f48| LDXRH (R12), R26
-4f21cb1a| LSLW R11, R10, R15
-1523db9a| LSL R27, R24, R21
-f6681b53| LSLW $5, R7, R22
-221a47d3| LSL $57, R17, R2
-6c24c91a| LSRW R9, R3, R12
-a224ca9a| LSR R10, R5, R2
-707c0153| LSRW $1, R3, R16
-34fc4cd3| LSR $12, R1, R20
-6a5c0d1b| MADDW R13, R23, R3, R10
-445d059b| MADD R5, R23, R10, R4
-35fd001b| MNEGW R0, R9, R21
-77ff0e9b| MNEG R14, R27, R23
-e70302aa| MOVD R2, R7
-fff29892| MOVD $-51096, ZR
-d4adb252| MOVW $2507014144, R20
-8747e2d2| MOVD $1313925191285342208, R7
-f5130d32| ORRW $16252928, ZR, R21
-eb6b16b2| MOVD $-4260607558625, R11
-e7031eaa| MOVD R30, R7
-35e88172| MOVKW $3905, R21
-35e8a172| MOVKW $(3905<<16), R21
-35e8c1f2| MOVK $(3905<<32), R21
-050080d2| MOVD $0, R5
-bf4100d5| MSR $1, SPSel
-df4903d5| MSR $9, DAIFSet
-ff4603d5| MSR $6, DAIFClr
-8585011b| MSUBW R1, R1, R12, R5
-42c3139b| MSUB R19, R16, R26, R2
-b67c1a1b| MULW R26, R5, R22
-607c049b| MUL R4, R3, R0
-e837e32a| MVNW R3@>13, R8
-e97f6daa| MVN R13>>31, R9
-fe07176b| NEGSW R23<<1, R30
-f68f54eb| NEGS R20>>35, R22
-e8030d5a| NGCW R13, R8
-e70302da| NGC R2, R7
-e5030a7a| NGCSW R10, R5
-f00318fa| NGCS R24, R16
-032ee42a| ORNW R4@>11, R16, R3
-634cf6aa| ORN R22@>19, R3, R3
-f8490d32| ORRW $4294443071, R15, R24
-96f542b2| ORR $-3458764513820540929, R12, R22
-1a110d2a| ORRW R13<<4, R8, R26
-a65803aa| ORR R3<<22, R5, R6
-190180f9| PRFM (R8), $25
-400080f9| PRFM (R2), PLDL1KEEP
-3601c05a| RBITW R9, R22
-6401c0da| RBIT R11, R4
-c0035fd6| RET
-0a09c05a| REVW R8, R10
-220cc0da| REV R1, R2
-b206c05a| REV16W R21, R18
-2407c0da| REV16 R25, R4
-750bc0da| REV32 R27, R21
-336f8413| EXTRW $27, R4, R25, R19
-af47ca93| EXTR $17, R10, R29, R15
-cf39ce93| ROR $14, R14, R15
-cf718e13| RORW $28, R14, R15
-832dc31a| RORW R3, R12, R3
-e22ec09a| ROR R0, R23, R2
-1801045a| SBCW R4, R8, R24
-5a0119da| SBC R25, R10, R26
-52021b7a| SBCSW R27, R18, R18
-250105fa| SBCS R5, R9, R5
-56451713| SBFIZW $9, R10, $18, R22
-74397a93| SBFIZ $6, R11, $15, R20
-f4450813| SBFXW $8, R15, $10, R20
-67df4293| SBFX $2, R27, $54, R7
-c90dd61a| SDIVW R22, R14, R9
-a90ecd9a| SDIV R13, R21, R9
-9f2003d5| SEV
-bf2003d5| SEVL
-691d239b| SMADDL R3, R7, R11, R9
-7dcd259b| SMSUBL R5, R19, R11, R29
-6ffc3a9b| SMNEGL R26, R3, R15
-b57e519b| SMULH R17, R21, R21
-a07c209b| SMULL R0, R5, R0
-d0fe9f88| STLRW R16, (R22)
-03ff9fc8| STLR R3, (R24)
-67ff08c8| STLXR R7, (R27), R8
-edfd0e88| STLXRW R13, (R15), R14
-f8fe0808| STLXRB R24, (R23), R8
-73ff0b48| STLXRH R19, (R27), R11
-468d22c8| STLXP (R6, R3), (R10), R2
-c6ae3588| STLXPW (R6, R11), (R22), R21
-7668e8a8| LDP.P -384(R3), (R22, R26)
-12add1a9| LDP.W 280(R8), (R18, R11)
-166c96a8| STP.P (R22, R27), 352(R0)
-112d86a9| STP.W (R17, R11), 96(R8)
-34441eb8| MOVW.P R20, -28(R1)
-11f60bf8| MOVD.P R17, 191(R16)
-c15d15b8| MOVW.W R1, -171(R14)
-ae4d12f8| MOVD.W R14, -220(R13)
-03ef39b9| MOVW R3, 14828(R24)
-208228f9| MOVD R0, 20736(R17)
-ffb41838| MOVB.P ZR, -117(R7)
-bb0d1a38| MOVB.W R27, -96(R13)
-b1612239| MOVB R17, 2200(R13)
-87841b78| MOVH.P R7, -72(R4)
-cc3d1878| MOVH.W R12, -125(R14)
-53cf1c79| MOVH R19, 3686(R26)
-152002b8| MOVW R21, 34(R0)
-397217f8| MOVD R25, -137(R17)
-eb021b78| MOVH R11, -80(R23)
-61082ac8| STXP (R1, R2), (R3), R10
-e10b2ac8| STXP (R1, R2), (RSP), R10
-61082a88| STXPW (R1, R2), (R3), R10
-e10b2a88| STXPW (R1, R2), (RSP), R10
-627e1288| STXRW R2, (R19), R18
-af7e0dc8| STXR R15, (R21), R13
-277d1808| STXRB R7, (R9), R24
-6c7c0848| STXRH R12, (R3), R8
-f24a344b| SUBW R20.UXTW<<2, R23, R18
-3ac825cb| SUB R5.SXTW<<2, R1, R26
-9b0c5ed1| SUB $(1923<<12), R4, R27
-9b0c5e51| SUBW $(1923<<12), R4, R27
-e8740c4b| SUBW R12<<29, R7, R8
-e8f40ccb| SUB R12<<61, R7, R8
-a6ad226b| SUBSW R2.SXTH<<3, R13, R6
-646b35eb| SUBS R21.UXTX<<2, R27, R4
-c9b04071| SUBSW $(44<<12), R6, R9
-a9315cf1| SUBS $(1804<<12), R13, R9
-c770966b| SUBSW R22->28, R6, R7
-c770566b| SUBSW R22>>28, R6, R7
-d03c1aeb| SUBS R26<<15, R6, R16
-010000d4| SVC $0
-a17f03d4| SVC $7165
-191d0013| SXTBW R8, R25
-a91d4093| SXTB R13, R9
-083d0013| SXTHW R8, R8
-393e4093| SXTH R17, R25
-1b7c4093| SXTW R0, R27
-0c5b2cd5| SYSL $285440, R12
-6e361d53| UBFIZW $3, R19, $14, R14
-c4367dd3| UBFIZ $3, R22, $14, R4
-ef580353| UBFXW $3, R7, $20, R15
-25e661d3| UBFX $33, R17, $25, R5
-af0ac81a| UDIVW R8, R21, R15
-550ac29a| UDIV R2, R18, R21
-3152a09b| UMADDL R0, R20, R17, R17
-6790b69b| UMSUBL R22, R4, R3, R7
-41fea39b| UMNEGL R3, R18, R1
-987ed89b| UMULH R24, R20, R24
-d37eb29b| UMULL R18, R22, R19
-461c0053| UXTBW R2, R6
-f43c0053| UXTHW R7, R20
-0058200e| VCNT V0.B8, V0.B8
-5f2003d5| WFE
-7f2003d5| WFI
-3f2003d5| YIELD
-5cc0201e| FABSS F2, F28
-0ec0601e| FABSD F0, F14
-4a282c1e| FADDS F12, F2, F10
-cc29781e| FADDD F24, F14, F12
-8ed5311e| FCCMPS LE, F17, F12, $14
-ef856b1e| FCCMPD HI, F11, F15, $15
-bd253c1e| FCCMPES HS, F28, F13, $13
-99b4741e| FCCMPED LT, F20, F4, $9
-2022231e| FCMPS F3, F17
-0821201e| FCMPS $(0.0), F8
-60236b1e| FCMPD F11, F27
-2823601e| FCMPD $(0.0), F25
-d023301e| FCMPES F16, F30
-b823201e| FCMPES $(0.0), F29
-50216d1e| FCMPED F13, F10
-3823601e| FCMPED $(0.0), F25
-590f3b1e| FCSELS EQ, F26, F27, F25
-075d761e| FCSELD PL, F8, F22, F7
-ef00381e| FCVTZSSW F7, R15
-1f02389e| FCVTZSS F16, ZR
-6302781e| FCVTZSDW F19, R3
-e700789e| FCVTZSD F7, R7
-4900391e| FCVTZUSW F2, R9
-9d01399e| FCVTZUS F12, R29
-7603791e| FCVTZUDW F27, R22
-3603799e| FCVTZUD F25, R22
-5419301e| FDIVS F16, F10, F20
-3e1b6b1e| FDIVD F11, F25, F30
-01090f1f| FMADDS F15, F2, F8, F1
-29574f1f| FMADDD F15, F21, F25, F9
-9b4b251e| FMAXS F5, F28, F27
-ff4b6c1e| FMAXD F12, F31, F31
-0c6b2b1e| FMAXNMS F11, F24, F12
-d068741e| FMAXNMD F20, F6, F16
-5e5a3a1e| FMINS F26, F18, F30
-95587d1e| FMIND F29, F4, F21
-817a371e| FMINNMS F23, F20, F1
-7878681e| FMINNMD F8, F3, F24
-8ece3d0e| VFMLA V29.S2, V20.S2, V14.S2
-71cfbd0e| VFMLS V29.S2, V27.S2, V17.S2
-4f00669e| FMOVD F2, R15
-6b00679e| FMOVD R3, F11
-9d02261e| FMOVS F20, R29
-0f01271e| FMOVS R8, F15
-4940601e| FMOVD F2, F9
-9b40201e| FMOVS F4, F27
-b3d50d1f| FMSUBS F13, F21, F13, F19
-ff9d4b1f| FMSUBD F11, F7, F15, F31
-d808201e| FMULS F0, F6, F24
-a90b651e| FMULD F5, F29, F9
-0542211e| FNEGS F16, F5
-ff43611e| FNEGD F31, F31
-d458311f| FNMADDS F17, F22, F6, F20
-54036f1f| FNMADDD F15, F0, F26, F20
-6ec32e1f| FNMSUBS F14, F16, F27, F14
-0ae57d1f| FNMSUBD F29, F25, F8, F10
-d28a381e| FNMULS F24, F22, F18
-c78b6e1e| FNMULD F14, F30, F7
-1540261e| FRINTAS F0, F21
-1641661e| FRINTAD F8, F22
-31c2271e| FRINTIS F17, F17
-2fc1671e| FRINTID F9, F15
-1043251e| FRINTMS F24, F16
-a240651e| FRINTMD F5, F2
-4e43241e| FRINTNS F26, F14
-8c43641e| FRINTND F28, F12
-64c3241e| FRINTPS F27, F4
-d6c0641e| FRINTPD F6, F22
-4a43271e| FRINTXS F26, F10
-0c42671e| FRINTXD F16, F12
-7cc0251e| FRINTZS F3, F28
-06c3651e| FRINTZD F24, F6
-09c0211e| FSQRTS F0, F9
-dbc1611e| FSQRTD F14, F27
-e03a391e| FSUBS F25, F23, F0
-b8396b1e| FSUBD F11, F13, F24
-7000221e| SCVTFWS R3, F16
-8402621e| SCVTFWD R20, F4
-0c02229e| SCVTFS R16, F12
-4e03629e| SCVTFD R26, F14
-c400231e| UCVTFWS R6, F4
-5701631e| UCVTFWD R10, F23
-1d03239e| UCVTFS R24, F29
-8b02639e| UCVTFD R20, F11
-6e86f05e| VADD V16, V19, V14
-4986654e| VADD V5.H8, V18.H8, V9.H8
-31bf674e| VADDP V7.H8, V25.H8, V17.H8
-60b8714e| VADDV V3.H8, V0
-d35a284e| AESD V22.B16, V19.B16
-fd4b284e| AESE V31.B16, V29.B16
-9b79284e| AESIMC V12.B16, V27.B16
-dc69284e| AESMC V14.B16, V28.B16
-891c244e| VAND V4.B16, V4.B16, V9.B16
-ac8db86e| VCMEQ V24.S4, V13.S4, V12.S4
-ab59200e| VCNT V13.B8, V11.B8
-f2071f5e| VMOV V31.B[15], V18
-f4071b4e| VDUP V31.B[13], V20.B16
-471e242e| VEOR V4.B8, V18.B8, V7.B8
-2320022e| VEXT $4, V2.B8, V1.B8, V3.B8
-2340026e| VEXT $8, V2.B16, V1.B16, V3.B16
-705d196e| VMOV V11.B[11], V16.B[12]
-951e054e| VMOV R20, V21.B[2]
-5570404c| VLD1 (R2), [V21.B16]
-126f400c| VLD1 (R24), [V18.D1, V19.D1, V20.D1]
-ae2f400c| VLD1 (R29), [V14.D1, V15.D1, V16.D1, V17.D1]
-e172df4c| VLD1.P 16(R23), [V1.B16]
-df7ccb0c| VLD1.P (R6)(R11), [V31.D1]
-ffacdf0c| VLD1.P 16(R7), [V31.D1, V0.D1]
-78a2c40c| VLD1.P (R19)(R4), [V24.B8, V25.B8]
-8766c84c| VLD1.P (R20)(R8), [V7.H8, V8.H8, V9.H8]
-c523df0c| VLD1.P 32(R30), [V5.B8, V6.B8, V7.B8, V8.B8]
-4e1e404d| VLD1 (R18), V14.B[15]
-a04b400d| VLD1 (R29), V0.H[1]
-6283400d| VLD1 (R27), V2.S[0]
-a586404d| VLD1 (R21), V5.D[1]
-4a1adf4d| VLD1.P 1(R18), V10.B[14]
-700cce4d| VLD1.P (R3)(R14), V16.B[11]
-3c50df0d| VLD1.P 2(R1), V28.H[2]
-a951d40d| VLD1.P (R13)(R20), V9.H[2]
-2192df4d| VLD1.P 4(R17), V1.S[3]
-d181c24d| VLD1.P (R14)(R2), V17.S[2]
-be84df4d| VLD1.P 8(R5), V30.D[1]
-7b87cd0d| VLD1.P (R27)(R13), V27.D[0]
-e8375ebc| FMOVS.P -29(RSP), F8
-bc7f44bc| FMOVS.W 71(R29), F28
-971058bd| FMOVS 6160(R4), F23
-5b06155e| VMOV V18.B[10], V27
-9c15196e| VMOV V12.B[2], V28.B[12]
-c41f1b4e| VMOV R30, V4.B[13]
-441ca24e| VMOV V2.B16, V4.B16
-b43d040e| VMOV V13.S[0], R20
-b43d084e| VMOV V13.D[0], R20
-56e6044f| VMOVI $146, V22.B16
-cf1eb94e| VORR V25.B16, V22.B16, V15.B16
-23e0e20e| VPMULL V2.D1, V1.D1, V3.Q1
-24e0e24e| VPMULL2 V2.D2, V1.D2, V4.Q1
-23e0220e| VPMULL V2.B8, V1.B8, V3.H8
-24e0224e| VPMULL2 V2.B16, V1.B16, V4.H8
-5559606e| VRBIT V10.B16, V21.B16
-4108606e| VREV32 V2.H8, V1.H8
-d100221e| SCVTFWS R6, F17
-6f00621e| SCVTFWD R3, F15
-9902229e| SCVTFS R20, F25
-a901629e| SCVTFD R13, F9
-0201085e| SHA1C V8.S4, V8, V2
-390a285e| SHA1H V17, V25
-7b23005e| SHA1M V0.S4, V27, V27
-9b12035e| SHA1P V3.S4, V20, V27
-b031115e| SHA1SU0 V17.S4, V13.S4, V16.S4
-171b285e| SHA1SU1 V24.S4, V23.S4
-0b52065e| SHA256H2 V6.S4, V16, V11
-4b40045e| SHA256H V4.S4, V2, V11
-1028285e| SHA256SU0 V0.S4, V16.S4
-6f601f5e| SHA256SU1 V31.S4, V3.S4, V15.S4
-d956474f| VSHL $7, V22.D2, V25.D2
-6e67000c| VST1 [V14.H4, V15.H4, V16.H4], (R27)
-c229004c| VST1 [V2.S4, V3.S4, V4.S4, V5.S4], (R14)
-f9789d4c| VST1.P [V25.S4], (R7)(R29)
-f9ac9f4c| VST1.P [V25.D2, V26.D2], 32(R7)
-eeac970c| VST1.P [V14.D1, V15.D1], (R7)(R23)
-796f9f4c| VST1.P [V25.D2, V26.D2, V27.D2], 48(R27)
-6d648e4c| VST1.P [V13.H8, V14.H8, V15.H8], (R3)(R14)
-d0289f4c| VST1.P [V16.S4, V17.S4, V18.S4, V19.S4], 64(R6)
-9324900c| VST1.P [V19.H4, V20.H4, V21.H4, V22.H4], (R4)(R16)
-2c0c000d| VST1 V12.B[3], (R1)
-2c0c000d| VST1 V12.B[3], (R1)
-9982004d| VST1 V25.S[2], (R20)
-e987004d| VST1 V9.D[1], (RSP)
-7e189f0d| VST1.P V30.B[6], 1(R3)
-6800950d| VST1.P V8.B[0], (R3)(R21)
-4f499f4d| VST1.P V15.H[5], 2(R10)
-e15a8b4d| VST1.P V1.H[7], (R23)(R11)
-7a819f0d| VST1.P V26.S[0], 4(R11)
-0992950d| VST1.P V9.S[1], (R16)(R21)
-30859f0d| VST1.P V16.D[0], 8(R9)
-b786904d| VST1.P V23.D[1], (R21)(R16)
-9785e17e| VSUB V1, V12, V23
-eb3bb06e| VUADDLV V31.S4, V11
-7301231e| UCVTFWS R11, F19
-4d03631e| UCVTFWD R26, F13
-eb02239e| UCVTFS R23, F11
-bd00639e| UCVTFD R5, F29
-0b3c030e| VMOV V0.B[1], R11
-2c3c0e0e| VMOV V1.H[3], R12
-d7061a6f| VUSHR $6, V22.H8, V23.H8
diff --git a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/decode_test.go b/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/decode_test.go
deleted file mode 100644
index 039b3edfa0..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/decode_test.go
+++ /dev/null
@@ -1,64 +0,0 @@
-// 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.
-
-package ppc64asm
-
-import (
- "encoding/binary"
- "encoding/hex"
- "io/ioutil"
- "strings"
- "testing"
-)
-
-func TestDecode(t *testing.T) {
- data, err := ioutil.ReadFile("testdata/decode.txt")
- if err != nil {
- t.Fatal(err)
- }
- all := string(data)
- for strings.Contains(all, "\t\t") {
- all = strings.Replace(all, "\t\t", "\t", -1)
- }
- for _, line := range strings.Split(all, "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.SplitN(line, "\t", 3)
- i := strings.Index(f[0], "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f[0])
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f[0])
- }
- size := i / 2
- code, err := hex.DecodeString(f[0][:i] + f[0][i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f[0], err)
- continue
- }
- syntax, asm := f[1], f[2]
- inst, err := Decode(code, binary.BigEndian)
- var out string
- if err != nil {
- out = "error: " + err.Error()
- } else {
- switch syntax {
- case "gnu":
- out = GNUSyntax(inst)
- case "plan9":
- out = GoSyntax(inst, 0, nil)
- default:
- t.Errorf("unknown syntax %q", syntax)
- continue
- }
- }
- if out != asm || inst.Len != size {
- t.Errorf("Decode(%s) [%s] = %s want %s", f[0], syntax, out, asm)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/ext_test.go b/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/ext_test.go
deleted file mode 100644
index cb7f3195fb..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/ext_test.go
+++ /dev/null
@@ -1,536 +0,0 @@
-// 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.
-
-// Support for testing against external disassembler program.
-// Copied and simplified from rsc.io/arm/armasm/ext_test.go.
-
-package ppc64asm
-
-import (
- "bufio"
- "bytes"
- "encoding/binary"
- "encoding/hex"
- "flag"
- "fmt"
- "io"
- "io/ioutil"
- "log"
- "math/rand"
- "os"
- "os/exec"
- "regexp"
- "runtime"
- "strings"
- "testing"
- "time"
-)
-
-var (
- printTests = flag.Bool("printtests", false, "print test cases that exercise new code paths")
- dumpTest = flag.Bool("dump", false, "dump all encodings")
- mismatch = flag.Bool("mismatch", false, "log allowed mismatches")
- longTest = flag.Bool("long", false, "long test")
- keep = flag.Bool("keep", false, "keep object files around")
- debug = false
-)
-
-// An ExtInst represents a single decoded instruction parsed
-// from an external disassembler's output.
-type ExtInst struct {
- addr uint32
- enc [4]byte
- nenc int
- text string
-}
-
-func (r ExtInst) String() string {
- return fmt.Sprintf("%#x: % x: %s", r.addr, r.enc, r.text)
-}
-
-// An ExtDis is a connection between an external disassembler and a test.
-type ExtDis struct {
- Dec chan ExtInst
- File *os.File
- Size int
- KeepFile bool
- Cmd *exec.Cmd
-}
-
-// Run runs the given command - the external disassembler - and returns
-// a buffered reader of its standard output.
-func (ext *ExtDis) Run(cmd ...string) (*bufio.Reader, error) {
- if *keep {
- log.Printf("%s\n", strings.Join(cmd, " "))
- }
- ext.Cmd = exec.Command(cmd[0], cmd[1:]...)
- out, err := ext.Cmd.StdoutPipe()
- if err != nil {
- return nil, fmt.Errorf("stdoutpipe: %v", err)
- }
- if err := ext.Cmd.Start(); err != nil {
- return nil, fmt.Errorf("exec: %v", err)
- }
-
- b := bufio.NewReaderSize(out, 1<<20)
- return b, nil
-}
-
-// Wait waits for the command started with Run to exit.
-func (ext *ExtDis) Wait() error {
- return ext.Cmd.Wait()
-}
-
-// testExtDis tests a set of byte sequences against an external disassembler.
-// The disassembler is expected to produce the given syntax and be run
-// in the given architecture mode (16, 32, or 64-bit).
-// The extdis function must start the external disassembler
-// and then parse its output, sending the parsed instructions on ext.Dec.
-// The generate function calls its argument f once for each byte sequence
-// to be tested. The generate function itself will be called twice, and it must
-// make the same sequence of calls to f each time.
-// When a disassembly does not match the internal decoding,
-// allowedMismatch determines whether this mismatch should be
-// allowed, or else considered an error.
-func testExtDis(
- t *testing.T,
- syntax string,
- extdis func(ext *ExtDis) error,
- generate func(f func([]byte)),
- allowedMismatch func(text string, size int, inst *Inst, dec ExtInst) bool,
-) {
- start := time.Now()
- ext := &ExtDis{
- Dec: make(chan ExtInst),
- }
- errc := make(chan error)
-
- // First pass: write instructions to input file for external disassembler.
- file, f, size, err := writeInst(generate)
- if err != nil {
- t.Fatal(err)
- }
- ext.Size = size
- ext.File = f
- defer func() {
- f.Close()
- if !*keep {
- os.Remove(file)
- }
- }()
-
- // Second pass: compare disassembly against our decodings.
- var (
- totalTests = 0
- totalSkips = 0
- totalErrors = 0
-
- errors = make([]string, 0, 100) // sampled errors, at most cap
- )
- go func() {
- errc <- extdis(ext)
- }()
- generate(func(enc []byte) {
- dec, ok := <-ext.Dec
- if !ok {
- t.Errorf("decoding stream ended early")
- return
- }
- inst, text := disasm(syntax, pad(enc))
- totalTests++
- if *dumpTest {
- fmt.Printf("%x -> %s [%d]\n", enc[:len(enc)], dec.text, dec.nenc)
- }
- if text != dec.text || inst.Len != dec.nenc {
- suffix := ""
- if allowedMismatch(text, size, &inst, dec) {
- totalSkips++
- if !*mismatch {
- return
- }
- suffix += " (allowed mismatch)"
- }
- totalErrors++
- if len(errors) >= cap(errors) {
- j := rand.Intn(totalErrors)
- if j >= cap(errors) {
- return
- }
- errors = append(errors[:j], errors[j+1:]...)
- }
- errors = append(errors, fmt.Sprintf("decode(%x) = %q, %d, want %q, %d%s", enc, text, inst.Len, dec.text, dec.nenc, suffix))
- }
- })
-
- if *mismatch {
- totalErrors -= totalSkips
- }
-
- for _, b := range errors {
- t.Log(b)
- }
-
- if totalErrors > 0 {
- t.Fail()
- }
- t.Logf("%d test cases, %d expected mismatches, %d failures; %.0f cases/second", totalTests, totalSkips, totalErrors, float64(totalTests)/time.Since(start).Seconds())
-
- if err := <-errc; err != nil {
- t.Fatalf("external disassembler: %v", err)
- }
-
-}
-
-const start = 0x8000 // start address of text
-
-// writeInst writes the generated byte sequences to a new file
-// starting at offset start. That file is intended to be the input to
-// the external disassembler.
-func writeInst(generate func(func([]byte))) (file string, f *os.File, size int, err error) {
- f, err = ioutil.TempFile("", "ppc64asm")
- if err != nil {
- return
- }
-
- file = f.Name()
-
- f.Seek(start, io.SeekStart)
- w := bufio.NewWriter(f)
- defer w.Flush()
- size = 0
- generate(func(x []byte) {
- if len(x) > 4 {
- x = x[:4]
- }
- if debug {
- fmt.Printf("%#x: %x%x\n", start+size, x, zeros[len(x):])
- }
- w.Write(x)
- w.Write(zeros[len(x):])
- size += len(zeros)
- })
- return file, f, size, nil
-}
-
-var zeros = []byte{0, 0, 0, 0}
-
-// pad pads the code sequence with pops.
-func pad(enc []byte) []byte {
- if len(enc) < 4 {
- enc = append(enc[:len(enc):len(enc)], zeros[:4-len(enc)]...)
- }
- return enc
-}
-
-// disasm returns the decoded instruction and text
-// for the given source bytes, using the given syntax and mode.
-func disasm(syntax string, src []byte) (inst Inst, text string) {
- // If printTests is set, we record the coverage value
- // before and after, and we write out the inputs for which
- // coverage went up, in the format expected in testdata/decode.text.
- // This produces a fairly small set of test cases that exercise nearly
- // all the code.
- var cover float64
- if *printTests {
- cover -= coverage()
- }
-
- inst, err := Decode(src, binary.BigEndian)
- if err != nil {
- text = "error: " + err.Error()
- } else {
- text = inst.String()
- switch syntax {
- //case "arm":
- // text = ARMSyntax(inst)
- case "gnu":
- text = GNUSyntax(inst)
- //case "plan9":
- // text = GoSyntax(inst, 0, nil)
- default:
- text = "error: unknown syntax " + syntax
- }
- }
-
- if *printTests {
- cover += coverage()
- if cover > 0 {
- max := len(src)
- if max > 4 && inst.Len <= 4 {
- max = 4
- }
- fmt.Printf("%x|%x\t%s\t%s\n", src[:inst.Len], src[inst.Len:max], syntax, text)
- }
- }
-
- return
-}
-
-// coverage returns a floating point number denoting the
-// test coverage until now. The number increases when new code paths are exercised,
-// both in the Go program and in the decoder byte code.
-func coverage() float64 {
- var f float64
- f += testing.Coverage()
- f += decodeCoverage()
- return f
-}
-
-func decodeCoverage() float64 {
- n := 0
- for _, t := range decoderCover {
- if t {
- n++
- }
- }
- return float64(1+n) / float64(1+len(decoderCover))
-}
-
-// Helpers for writing disassembler output parsers.
-
-// hasPrefix reports whether any of the space-separated words in the text s
-// begins with any of the given prefixes.
-func hasPrefix(s string, prefixes ...string) bool {
- for _, prefix := range prefixes {
- for s := s; s != ""; {
- if strings.HasPrefix(s, prefix) {
- return true
- }
- i := strings.Index(s, " ")
- if i < 0 {
- break
- }
- s = s[i+1:]
- }
- }
- return false
-}
-
-// contains reports whether the text s contains any of the given substrings.
-func contains(s string, substrings ...string) bool {
- for _, sub := range substrings {
- if strings.Contains(s, sub) {
- return true
- }
- }
- return false
-}
-
-// isHex reports whether b is a hexadecimal character (0-9A-Fa-f).
-func isHex(b byte) bool { return b == '0' || unhex[b] > 0 }
-
-// parseHex parses the hexadecimal byte dump in hex,
-// appending the parsed bytes to raw and returning the updated slice.
-// The returned bool signals whether any invalid hex was found.
-// Spaces and tabs between bytes are okay but any other non-hex is not.
-func parseHex(hex []byte, raw []byte) ([]byte, bool) {
- hex = trimSpace(hex)
- for j := 0; j < len(hex); {
- for hex[j] == ' ' || hex[j] == '\t' {
- j++
- }
- if j >= len(hex) {
- break
- }
- if j+2 > len(hex) || !isHex(hex[j]) || !isHex(hex[j+1]) {
- return nil, false
- }
- raw = append(raw, unhex[hex[j]]<<4|unhex[hex[j+1]])
- j += 2
- }
- return raw, true
-}
-
-var unhex = [256]byte{
- '0': 0,
- '1': 1,
- '2': 2,
- '3': 3,
- '4': 4,
- '5': 5,
- '6': 6,
- '7': 7,
- '8': 8,
- '9': 9,
- 'A': 10,
- 'B': 11,
- 'C': 12,
- 'D': 13,
- 'E': 14,
- 'F': 15,
- 'a': 10,
- 'b': 11,
- 'c': 12,
- 'd': 13,
- 'e': 14,
- 'f': 15,
-}
-
-// index is like bytes.Index(s, []byte(t)) but avoids the allocation.
-func index(s []byte, t string) int {
- i := 0
- for {
- j := bytes.IndexByte(s[i:], t[0])
- if j < 0 {
- return -1
- }
- i = i + j
- if i+len(t) > len(s) {
- return -1
- }
- for k := 1; k < len(t); k++ {
- if s[i+k] != t[k] {
- goto nomatch
- }
- }
- return i
- nomatch:
- i++
- }
-}
-
-// fixSpace rewrites runs of spaces, tabs, and newline characters into single spaces in s.
-// If s must be rewritten, it is rewritten in place.
-func fixSpace(s []byte) []byte {
- s = trimSpace(s)
- for i := 0; i < len(s); i++ {
- if s[i] == '\t' || s[i] == '\n' || i > 0 && s[i] == ' ' && s[i-1] == ' ' {
- goto Fix
- }
- }
- return s
-
-Fix:
- b := s
- w := 0
- for i := 0; i < len(s); i++ {
- c := s[i]
- if c == '\t' || c == '\n' {
- c = ' '
- }
- if c == ' ' && w > 0 && b[w-1] == ' ' {
- continue
- }
- b[w] = c
- w++
- }
- if w > 0 && b[w-1] == ' ' {
- w--
- }
- return b[:w]
-}
-
-// trimSpace trims leading and trailing space from s, returning a subslice of s.
-func trimSpace(s []byte) []byte {
- j := len(s)
- for j > 0 && (s[j-1] == ' ' || s[j-1] == '\t' || s[j-1] == '\n') {
- j--
- }
- i := 0
- for i < j && (s[i] == ' ' || s[i] == '\t') {
- i++
- }
- return s[i:j]
-}
-
-// pcrel matches instructions using relative addressing mode.
-var (
- pcrel = regexp.MustCompile(`^((?:.* )?(?:b|bc)[^ac ]* (?:(?:[0-9]{1,2},)|(?:[0-7]\*)|\+|lt|gt|eq|so|cr[0-7]|,)*)0x([0-9a-f]+)$`)
-)
-
-// Generators.
-//
-// The test cases are described as functions that invoke a callback repeatedly,
-// with a new input sequence each time. These helpers make writing those
-// a little easier.
-
-// randomCases generates random instructions.
-func randomCases(t *testing.T) func(func([]byte)) {
- return func(try func([]byte)) {
- // All the strides are relatively prime to 2 and therefore to 2²â¸,
- // so we will not repeat any instructions until we have tried all 2²â¸.
- // Using a stride other than 1 is meant to visit the instructions in a
- // pseudorandom order, which gives better variety in the set of
- // test cases chosen by -printtests.
- stride := uint32(10007)
- n := 1 << 28 / 7
- if testing.Short() {
- stride = 100003
- n = 1 << 28 / 1001
- } else if *longTest {
- stride = 2000033
- n = 1 << 29
- }
- x := uint32(0)
- for i := 0; i < n; i++ {
- enc := (x%15)<<28 | x&(1<<28-1)
- try([]byte{byte(enc), byte(enc >> 8), byte(enc >> 16), byte(enc >> 24)})
- x += stride
- }
- }
-}
-
-// hexCases generates the cases written in hexadecimal in the encoded string.
-// Spaces in 'encoded' separate entire test cases, not individual bytes.
-func hexCases(t *testing.T, encoded string) func(func([]byte)) {
- return func(try func([]byte)) {
- for _, x := range strings.Fields(encoded) {
- src, err := hex.DecodeString(x)
- if err != nil {
- t.Errorf("parsing %q: %v", x, err)
- }
- try(src)
- }
- }
-}
-
-// testdataCases generates the test cases recorded in testdata/decode.txt.
-// It only uses the inputs; it ignores the answers recorded in that file.
-func testdataCases(t *testing.T) func(func([]byte)) {
- var codes [][]byte
- data, err := ioutil.ReadFile("testdata/decode.txt")
- if err != nil {
- t.Fatal(err)
- }
- for _, line := range strings.Split(string(data), "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.Fields(line)[0]
- i := strings.Index(f, "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f)
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f)
- }
- code, err := hex.DecodeString(f[:i] + f[i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f, err)
- continue
- }
- codes = append(codes, code)
- }
-
- return func(try func([]byte)) {
- for _, code := range codes {
- try(code)
- }
- }
-}
-
-func caller(skip int) string {
- pc, _, _, _ := runtime.Caller(skip)
- f := runtime.FuncForPC(pc)
- name := "?"
- if f != nil {
- name = f.Name()
- if i := strings.LastIndex(name, "."); i >= 0 {
- name = name[i+1:]
- }
- }
- return name
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/field_test.go b/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/field_test.go
deleted file mode 100644
index 14eb2f8e4e..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/field_test.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// 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.
-
-package ppc64asm
-
-import (
- "testing"
-)
-
-func panicOrNot(f func()) (panicked bool) {
- defer func() {
- if err := recover(); err != nil {
- panicked = true
- }
- }()
- f()
- return false
-}
-
-func TestBitField(t *testing.T) {
- var tests = []struct {
- b BitField
- i uint32 // input
- u uint32 // unsigned output
- s int32 // signed output
- fail bool // if the check should panic
- }{
- {BitField{0, 0}, 0, 0, 0, true},
- {BitField{31, 2}, 0, 0, 0, true},
- {BitField{31, 1}, 1, 1, -1, false},
- {BitField{29, 2}, 0 << 1, 0, 0, false},
- {BitField{29, 2}, 1 << 1, 1, 1, false},
- {BitField{29, 2}, 2 << 1, 2, -2, false},
- {BitField{29, 2}, 3 << 1, 3, -1, false},
- {BitField{0, 32}, 1<<32 - 1, 1<<32 - 1, -1, false},
- {BitField{16, 3}, 1 << 15, 4, -4, false},
- }
- for i, tst := range tests {
- var (
- ou uint32
- os int32
- )
- failed := panicOrNot(func() {
- ou = tst.b.Parse(tst.i)
- os = tst.b.ParseSigned(tst.i)
- })
- if failed != tst.fail {
- t.Errorf("case %d: %v: fail test failed, got %v, expected %v", i, tst.b, failed, tst.fail)
- continue
- }
- if ou != tst.u {
- t.Errorf("case %d: %v.Parse(%d) returned %d, expected %d", i, tst.b, tst.i, ou, tst.u)
- continue
- }
- if os != tst.s {
- t.Errorf("case %d: %v.ParseSigned(%d) returned %d, expected %d", i, tst.b, tst.i, os, tst.s)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdump_test.go b/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdump_test.go
deleted file mode 100644
index b886f7bad1..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdump_test.go
+++ /dev/null
@@ -1,133 +0,0 @@
-// 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.
-
-package ppc64asm
-
-import (
- "encoding/binary"
- "strings"
- "testing"
-)
-
-func TestObjdumpPowerTestdata(t *testing.T) { testObjdump(t, testdataCases(t)) }
-func TestObjdumpPowerManual(t *testing.T) { testObjdump(t, hexCases(t, objdumpManualTests)) }
-
-// Disable this for now since generating all possible bit combinations within a word
-// generates lots of ppc64x instructions not possible with golang so not worth supporting..
-//func TestObjdumpPowerRandom(t *testing.T) { testObjdump(t, randomCases(t)) }
-
-// objdumpManualTests holds test cases that will be run by TestObjdumpARMManual.
-// If you are debugging a few cases that turned up in a longer run, it can be useful
-// to list them here and then use -run=Manual, particularly with tracing enabled.
-// Note that these are byte sequences, so they must be reversed from the usual
-// word presentation.
-var objdumpManualTests = `
-6d746162
-4c040000
-88000017
-`
-
-// allowedMismatchObjdump reports whether the mismatch between text and dec
-// should be allowed by the test.
-func allowedMismatchObjdump(text string, size int, inst *Inst, dec ExtInst) bool {
- if hasPrefix(dec.text, deleted...) {
- return true
- }
-
- // we support more instructions than binutils
- if strings.Contains(dec.text, ".long") {
- return true
- }
-
- if hasPrefix(text, "error:") {
- if hasPrefix(dec.text, unsupported...) {
- return true
- }
- }
-
- switch inst.Op {
- case BC, BCA, BL, BLA, BCL, BCLA, TDI, TWI, TW, TD:
- return true // TODO(minux): we lack the support for extended opcodes here
- case RLWNM, RLWNMCC, RLDICL, RLDICLCC, RLWINM, RLWINMCC, RLDCL, RLDCLCC:
- return true // TODO(minux): we lack the support for extended opcodes here
- case DCBTST, DCBT:
- return true // objdump uses the embedded argument order, we use the server argument order
- case MTFSF, MTFSFCC: // objdump doesn't show the last two arguments
- return true
- case VSPLTB, VSPLTH, VSPLTW: // objdump generates unreasonable result "vspltw v6,v19,4" for 10c49a8c, the last 4 should be 0.
- return true
- }
- if hasPrefix(text, "evm", "evl", "efs") { // objdump will disassemble them wrong (e.g. evmhoumia as vsldoi)
- return true
- }
-
- if len(dec.enc) >= 4 {
- _ = binary.BigEndian.Uint32(dec.enc[:4])
- }
-
- return false
-}
-
-// Instructions known to libopcodes (or xed) but not to us.
-// TODO(minux): those single precision instructions are missing from ppc64.csv
-// those data cache instructions are deprecated, but must be treated as no-ops, see 4.3.2.1 pg. 774.
-var unsupported = strings.Fields(`
-fmsubs
-fmsubs.
-fnmadds
-fnmadds.
-fnmsubs
-fnmsubs.
-fmuls
-fmuls.
-fdivs
-fdivs.
-fadds
-fadds.
-fsubs
-fsubs.
-dst
-dstst
-dssall
-`)
-
-// Instructions explicitly dropped in Power ISA that were in POWER architecture.
-// See A.30 Deleted Instructions and A.31 Discontiued Opcodes
-var deleted = strings.Fields(`
-abs
-clcs
-clf
-cli
-dclst
-div
-divs
-doz
-dozi
-lscbx
-maskg
-maskir
-mfsri
-mul
-nabs
-rac
-rfi
-rfsvc
-rlmi
-rrib
-sle
-sleq
-sliq
-slliq
-sllq
-slq
-sraiq
-sraq
-sre
-srea
-sreq
-sriq
-srliq
-srlq
-srq
-maskg`)
diff --git a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdumpext_test.go b/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdumpext_test.go
deleted file mode 100644
index d4f8fc8808..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/objdumpext_test.go
+++ /dev/null
@@ -1,255 +0,0 @@
-// 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.
-
-// Copied and simplified from rsc.io/arm/armasm/objdumpext_test.go.
-
-package ppc64asm
-
-import (
- "bytes"
- "debug/elf"
- "encoding/binary"
- "fmt"
- "io"
- "log"
- "os"
- "runtime"
- "strconv"
- "strings"
- "testing"
-)
-
-const objdumpPath = "/usr/bin/objdump"
-
-func testObjdump(t *testing.T, generate func(func([]byte))) {
- if testing.Short() {
- t.Skip("skipping objdump test in short mode")
- }
- if runtime.GOARCH != "ppc64le" && runtime.GOARCH != "ppc64" {
- t.Skip("skipping; test requires host tool objdump for ppc64 or ppc64le")
- }
- if _, err := os.Stat(objdumpPath); err != nil {
- t.Skip(err)
- }
-
- testExtDis(t, "gnu", objdump, generate, allowedMismatchObjdump)
-}
-
-func objdump(ext *ExtDis) error {
- // File already written with instructions; add ELF header.
- if err := writeELF64(ext.File, ext.Size); err != nil {
- return err
- }
-
- b, err := ext.Run(objdumpPath, "-d", "-z", ext.File.Name())
- if err != nil {
- return err
- }
-
- var (
- nmatch int
- reading bool
- next uint32 = start
- addr uint32
- encbuf [4]byte
- enc []byte
- text string
- )
- flush := func() {
- if addr == next {
- if m := pcrel.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s.%+#x", m[1], int32(uint32(targ)-addr))
- }
- if strings.HasPrefix(text, "stmia") {
- text = "stm" + text[5:]
- }
- if strings.HasPrefix(text, "stmfd") {
- text = "stmdb" + text[5:]
- }
- if strings.HasPrefix(text, "ldmfd") {
- text = "ldm" + text[5:]
- }
- text = strings.Replace(text, "#0.0", "#0", -1)
- if text == "undefined" && len(enc) == 4 {
- text = "error: unknown instruction"
- enc = nil
- }
- if len(enc) == 4 {
- // prints as word but we want to record bytes
- enc[0], enc[3] = enc[3], enc[0]
- enc[1], enc[2] = enc[2], enc[1]
- }
- ext.Dec <- ExtInst{addr, encbuf, len(enc), text}
- encbuf = [4]byte{}
- enc = nil
- next += 4
- }
- }
- var textangle = []byte("<.text>:")
- for {
- line, err := b.ReadSlice('\n')
- if err != nil {
- if err == io.EOF {
- break
- }
- return fmt.Errorf("reading objdump output: %v", err)
- }
- if bytes.Contains(line, textangle) {
- reading = true
- continue
- }
- if !reading {
- continue
- }
- if debug {
- os.Stdout.Write(line)
- }
- if enc1 := parseContinuation(line, encbuf[:len(enc)]); enc1 != nil {
- enc = enc1
- continue
- }
- flush()
- nmatch++
- addr, enc, text = parseLine(line, encbuf[:0])
- if addr > next {
- return fmt.Errorf("address out of sync expected <= %#x at %q in:\n%s", next, line, line)
- }
- }
- flush()
- if next != start+uint32(ext.Size) {
- return fmt.Errorf("not enough results found [%d %d]", next, start+ext.Size)
- }
- if err := ext.Wait(); err != nil {
- return fmt.Errorf("exec: %v", err)
- }
-
- return nil
-}
-
-var (
- undefined = []byte("<UNDEFINED>")
- unpredictable = []byte("<UNPREDICTABLE>")
- illegalShifter = []byte("<illegal shifter operand>")
-)
-
-func parseLine(line []byte, encstart []byte) (addr uint32, enc []byte, text string) {
- oline := line
- i := index(line, ":\t")
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- x, err := strconv.ParseUint(string(trimSpace(line[:i])), 16, 32)
- if err != nil {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- addr = uint32(x)
- line = line[i+2:]
- i = bytes.IndexByte(line, '\t')
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- enc, ok := parseHex(line[:i], encstart)
- if !ok {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- line = trimSpace(line[i:])
- if bytes.Contains(line, undefined) {
- text = "undefined"
- return
- }
- if bytes.Contains(line, illegalShifter) {
- text = "undefined"
- return
- }
- if false && bytes.Contains(line, unpredictable) {
- text = "unpredictable"
- return
- }
- if i := bytes.IndexByte(line, ';'); i >= 0 {
- line = trimSpace(line[:i])
- }
- text = string(fixSpace(line))
- return
-}
-
-func parseContinuation(line []byte, enc []byte) []byte {
- i := index(line, ":\t")
- if i < 0 {
- return nil
- }
- line = line[i+1:]
- enc, _ = parseHex(line, enc)
- return enc
-}
-
-// writeELF64 writes an ELF64 header to the file,
-// describing a text segment that starts at start
-// and extends for size bytes.
-func writeELF64(f *os.File, size int) error {
- f.Seek(0, io.SeekStart)
- var hdr elf.Header64
- var prog elf.Prog64
- var sect elf.Section64
- var buf bytes.Buffer
- binary.Write(&buf, binary.BigEndian, &hdr)
- off1 := buf.Len()
- binary.Write(&buf, binary.BigEndian, &prog)
- off2 := buf.Len()
- binary.Write(&buf, binary.BigEndian, &sect)
- off3 := buf.Len()
- buf.Reset()
- data := byte(elf.ELFDATA2MSB)
- hdr = elf.Header64{
- Ident: [16]byte{0x7F, 'E', 'L', 'F', 2, data, 1},
- Type: 2,
- Machine: uint16(elf.EM_PPC64),
- Version: 1,
- Entry: start,
- Phoff: uint64(off1),
- Shoff: uint64(off2),
- Flags: 0x05000002,
- Ehsize: uint16(off1),
- Phentsize: uint16(off2 - off1),
- Phnum: 1,
- Shentsize: uint16(off3 - off2),
- Shnum: 3,
- Shstrndx: 2,
- }
- binary.Write(&buf, binary.BigEndian, &hdr)
- prog = elf.Prog64{
- Type: 1,
- Off: start,
- Vaddr: start,
- Paddr: start,
- Filesz: uint64(size),
- Memsz: uint64(size),
- Flags: 5,
- Align: start,
- }
- binary.Write(&buf, binary.BigEndian, &prog)
- binary.Write(&buf, binary.BigEndian, &sect) // NULL section
- sect = elf.Section64{
- Name: 1,
- Type: uint32(elf.SHT_PROGBITS),
- Addr: start,
- Off: start,
- Size: uint64(size),
- Flags: uint64(elf.SHF_ALLOC | elf.SHF_EXECINSTR),
- Addralign: 4,
- }
- binary.Write(&buf, binary.BigEndian, &sect) // .text
- sect = elf.Section64{
- Name: uint32(len("\x00.text\x00")),
- Type: uint32(elf.SHT_STRTAB),
- Addr: 0,
- Off: uint64(off2 + (off3-off2)*3),
- Size: uint64(len("\x00.text\x00.shstrtab\x00")),
- Addralign: 1,
- }
- binary.Write(&buf, binary.BigEndian, &sect)
- buf.WriteString("\x00.text\x00.shstrtab\x00")
- f.Write(buf.Bytes())
- return nil
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/testdata/decode.txt b/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/testdata/decode.txt
deleted file mode 100644
index 2a89de04c9..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/testdata/decode.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-6d746162| gnu xoris r20,r11,24930
-6d746162| plan9 XORIS R11,$24930,R20
-4c040000| gnu mcrf cr0,cr1
-88a70002| gnu lbz r5,2(r7)
-88a70002| plan9 MOVBZ 2(R7),R5
-00000000| plan9 WORD $0
-00010000| plan9 error: unknown instruction
-00000000| gnu .long 0x0
-00002000| gnu error: unknown instruction
-a1841e80| gnu lhz r12,7808(r4)
-a1841e80| plan9 MOVHZ 7808(R4),R12
-42093d10| gnu bc 16,4*cr2+gt,.+0x3d10
-e38d5b90| gnu lq r28,23440(r13)
-84127a20| gnu lwzu r0,31264(r18)
-84127a20| plan9 MOVWZU 31264(R18),R0
-a8630000| gnu lha r3,0(r3)
-a8630000| plan9 MOVH 0(R3),R3
-ebb24fd1| gnu ldu r29,20432(r18)
-ebb24fd1| plan9 MOVDU 20432(R18),R29
-b1ce0612| gnu sth r14,1554(r14)
-b1ce0612| plan9 MOVH R14,1554(R14)
-945c62a2| gnu stwu r2,25250(r28)
-f91b9c7a| gnu stq r8,-25480(r27)
-2c030001| gnu cmpwi r3,1
-2c030001| plan9 CMPW R3,$1
-e8610032| gnu lwa r3,48(r1)
-e8610032| plan9 MOVW 48(R1),R3
-4320336b| gnu bcla 25,lt,0x3368
-7e40092e| gnu stwx r18,0,r1
-7e40092e| plan9 MOVW R18,(R1)(0)
-7c103c2c| gnu lwbrx r0,r16,r7
-7c103c2c| plan9 MOVWBR (R7)(R16),R0
-7c441d28| gnu stdbrx r2,r4,r3
-7c441d28| plan9 MOVDBR R2,(R3)(R4)
-3d220001| gnu addis r9,r2,1
-3d220001| plan9 ADDIS R2,$1,R9
-7ce628ae| gnu lbzx r7,r6,r5
-7ce628ae| plan9 MOVBZ (R5)(R6),R7
-7c0e1e99| gnu lxvd2x vs32,r14,r3
-7c0e1e99| plan9 LXVD2X (R3)(R14),VS32
-7c00422c| gnu dcbt r0,r8,0
-7c00422c| plan9 DCBT (R8)
-7fab3040| gnu cmpld cr7,r11,r6
-7fab3040| plan9 CMPU CR7,R11,R6
-2c030001| gnu cmpwi r3,1
-2c030001| plan9 CMPW R3,$1
-7c2b4840| gnu cmpld r11,r9
-7c2b4840| plan9 CMPU R11,R9
-7c6521ad| gnu stdcx. r3,r5,r4
-7c6521ad| plan9 STDCXCC R3,(R4)(R5)
-fbe1ffd1| gnu stdu r31,-48(r1)
-fbe1ffd1| plan9 MOVDU R31,-48(R1)
-7c941f19| gnu stxvw4x vs36,r20,r3
-7c941f19| plan9 STXVW4X VS36,(R3)(R20)
-7c6520a8| gnu ldarx r3,r5,r4
-7c6520a8| plan9 LDAR (R4)(R5),R3
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/decode_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/decode_test.go
deleted file mode 100644
index 127be263d7..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/decode_test.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// 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.
-
-package x86asm
-
-import (
- "encoding/hex"
- "io/ioutil"
- "strconv"
- "strings"
- "testing"
-)
-
-func TestDecode(t *testing.T) {
- data, err := ioutil.ReadFile("testdata/decode.txt")
- if err != nil {
- t.Fatal(err)
- }
- all := string(data)
- for strings.Contains(all, "\t\t") {
- all = strings.Replace(all, "\t\t", "\t", -1)
- }
- for _, line := range strings.Split(all, "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.SplitN(line, "\t", 4)
- i := strings.Index(f[0], "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f[0])
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f[0])
- }
- size := i / 2
- code, err := hex.DecodeString(f[0][:i] + f[0][i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f[0], err)
- continue
- }
- mode, err := strconv.Atoi(f[1])
- if err != nil {
- t.Errorf("invalid mode %q in: %s", f[1], line)
- continue
- }
- syntax, asm := f[2], f[3]
- inst, err := Decode(code, mode)
- var out string
- if err != nil {
- out = "error: " + err.Error()
- } else {
- switch syntax {
- case "gnu":
- out = GNUSyntax(inst, 0, nil)
- case "intel":
- out = IntelSyntax(inst, 0, nil)
- case "plan9": // [sic]
- out = GoSyntax(inst, 0, nil)
- default:
- t.Errorf("unknown syntax %q", syntax)
- continue
- }
- }
- if out != asm || inst.Len != size {
- t.Errorf("Decode(%s) [%s] = %s, %d, want %s, %d", f[0], syntax, out, inst.Len, asm, size)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/ext_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/ext_test.go
deleted file mode 100644
index 526ef5aa26..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/ext_test.go
+++ /dev/null
@@ -1,811 +0,0 @@
-// 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.
-
-// Support for testing against external disassembler program.
-
-package x86asm
-
-import (
- "bufio"
- "bytes"
- "encoding/hex"
- "flag"
- "fmt"
- "io"
- "io/ioutil"
- "log"
- "math/rand"
- "os"
- "os/exec"
- "regexp"
- "runtime"
- "strings"
- "testing"
- "time"
-)
-
-var (
- printTests = flag.Bool("printtests", false, "print test cases that exercise new code paths")
- dumpTest = flag.Bool("dump", false, "dump all encodings")
- mismatch = flag.Bool("mismatch", false, "log allowed mismatches")
- longTest = flag.Bool("long", false, "long test")
- keep = flag.Bool("keep", false, "keep object files around")
- debug = false
-)
-
-// An ExtInst represents a single decoded instruction parsed
-// from an external disassembler's output.
-type ExtInst struct {
- addr uint32
- enc [32]byte
- nenc int
- text string
-}
-
-func (r ExtInst) String() string {
- return fmt.Sprintf("%#x: % x: %s", r.addr, r.enc, r.text)
-}
-
-// An ExtDis is a connection between an external disassembler and a test.
-type ExtDis struct {
- Arch int
- Dec chan ExtInst
- File *os.File
- Size int
- KeepFile bool
- Cmd *exec.Cmd
-}
-
-// Run runs the given command - the external disassembler - and returns
-// a buffered reader of its standard output.
-func (ext *ExtDis) Run(cmd ...string) (*bufio.Reader, error) {
- if *keep {
- log.Printf("%s\n", strings.Join(cmd, " "))
- }
- ext.Cmd = exec.Command(cmd[0], cmd[1:]...)
- out, err := ext.Cmd.StdoutPipe()
- if err != nil {
- return nil, fmt.Errorf("stdoutpipe: %v", err)
- }
- if err := ext.Cmd.Start(); err != nil {
- return nil, fmt.Errorf("exec: %v", err)
- }
-
- b := bufio.NewReaderSize(out, 1<<20)
- return b, nil
-}
-
-// Wait waits for the command started with Run to exit.
-func (ext *ExtDis) Wait() error {
- return ext.Cmd.Wait()
-}
-
-// testExtDis tests a set of byte sequences against an external disassembler.
-// The disassembler is expected to produce the given syntax and be run
-// in the given architecture mode (16, 32, or 64-bit).
-// The extdis function must start the external disassembler
-// and then parse its output, sending the parsed instructions on ext.Dec.
-// The generate function calls its argument f once for each byte sequence
-// to be tested. The generate function itself will be called twice, and it must
-// make the same sequence of calls to f each time.
-// When a disassembly does not match the internal decoding,
-// allowedMismatch determines whether this mismatch should be
-// allowed, or else considered an error.
-func testExtDis(
- t *testing.T,
- syntax string,
- arch int,
- extdis func(ext *ExtDis) error,
- generate func(f func([]byte)),
- allowedMismatch func(text string, size int, inst *Inst, dec ExtInst) bool,
-) {
- start := time.Now()
- ext := &ExtDis{
- Dec: make(chan ExtInst),
- Arch: arch,
- }
- errc := make(chan error)
-
- // First pass: write instructions to input file for external disassembler.
- file, f, size, err := writeInst(generate)
- if err != nil {
- t.Fatal(err)
- }
- ext.Size = size
- ext.File = f
- defer func() {
- f.Close()
- if !*keep {
- os.Remove(file)
- }
- }()
-
- // Second pass: compare disassembly against our decodings.
- var (
- totalTests = 0
- totalSkips = 0
- totalErrors = 0
-
- errors = make([]string, 0, 100) // sampled errors, at most cap
- )
- go func() {
- errc <- extdis(ext)
- }()
- generate(func(enc []byte) {
- dec, ok := <-ext.Dec
- if !ok {
- t.Errorf("decoding stream ended early")
- return
- }
- inst, text := disasm(syntax, arch, pad(enc))
- totalTests++
- if *dumpTest {
- fmt.Printf("%x -> %s [%d]\n", enc[:len(enc)], dec.text, dec.nenc)
- }
- if text != dec.text || inst.Len != dec.nenc {
- suffix := ""
- if allowedMismatch(text, size, &inst, dec) {
- totalSkips++
- if !*mismatch {
- return
- }
- suffix += " (allowed mismatch)"
- }
- totalErrors++
- if len(errors) >= cap(errors) {
- j := rand.Intn(totalErrors)
- if j >= cap(errors) {
- return
- }
- errors = append(errors[:j], errors[j+1:]...)
- }
- errors = append(errors, fmt.Sprintf("decode(%x) = %q, %d, want %q, %d%s", enc, text, inst.Len, dec.text, dec.nenc, suffix))
- }
- })
-
- if *mismatch {
- totalErrors -= totalSkips
- }
-
- for _, b := range errors {
- t.Log(b)
- }
-
- if totalErrors > 0 {
- t.Fail()
- }
- t.Logf("%d test cases, %d expected mismatches, %d failures; %.0f cases/second", totalTests, totalSkips, totalErrors, float64(totalTests)/time.Since(start).Seconds())
-
- if err := <-errc; err != nil {
- t.Fatalf("external disassembler: %v", err)
- }
-}
-
-const start = 0x8000 // start address of text
-
-// writeInst writes the generated byte sequences to a new file
-// starting at offset start. That file is intended to be the input to
-// the external disassembler.
-func writeInst(generate func(func([]byte))) (file string, f *os.File, size int, err error) {
- f, err = ioutil.TempFile("", "x86map")
- if err != nil {
- return
- }
-
- file = f.Name()
-
- f.Seek(start, io.SeekStart)
- w := bufio.NewWriter(f)
- defer w.Flush()
- size = 0
- generate(func(x []byte) {
- if len(x) > 16 {
- x = x[:16]
- }
- if debug {
- fmt.Printf("%#x: %x%x\n", start+size, x, pops[len(x):])
- }
- w.Write(x)
- w.Write(pops[len(x):])
- size += len(pops)
- })
- return file, f, size, nil
-}
-
-// 0x5F is a single-byte pop instruction.
-// We pad the bytes we want decoded with enough 0x5Fs
-// that no matter what state the instruction stream is in
-// after reading our bytes, the pops will get us back to
-// a forced instruction boundary.
-var pops = []byte{
- 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
- 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
- 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
- 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
-}
-
-// pad pads the code sequence with pops.
-func pad(enc []byte) []byte {
- return append(enc[:len(enc):len(enc)], pops...)
-}
-
-// disasm returns the decoded instruction and text
-// for the given source bytes, using the given syntax and mode.
-func disasm(syntax string, mode int, src []byte) (inst Inst, text string) {
- // If printTests is set, we record the coverage value
- // before and after, and we write out the inputs for which
- // coverage went up, in the format expected in testdata/decode.text.
- // This produces a fairly small set of test cases that exercise nearly
- // all the code.
- var cover float64
- if *printTests {
- cover -= coverage()
- }
-
- inst, err := decode1(src, mode, syntax == "gnu")
- if err != nil {
- text = "error: " + err.Error()
- } else {
- switch syntax {
- case "gnu":
- text = GNUSyntax(inst, 0, nil)
- case "intel":
- text = IntelSyntax(inst, 0, nil)
- case "plan9": // [sic]
- text = GoSyntax(inst, 0, nil)
- default:
- text = "error: unknown syntax " + syntax
- }
- }
-
- if *printTests {
- cover += coverage()
- if cover > 0 {
- max := len(src)
- if max > 16 && inst.Len <= 16 {
- max = 16
- }
- fmt.Printf("%x|%x\t%d\t%s\t%s\n", src[:inst.Len], src[inst.Len:max], mode, syntax, text)
- }
- }
-
- return
-}
-
-// coverage returns a floating point number denoting the
-// test coverage until now. The number increases when new code paths are exercised,
-// both in the Go program and in the decoder byte code.
-func coverage() float64 {
- /*
- testing.Coverage is not in the main distribution.
- The implementation, which must go in package testing, is:
-
- // Coverage reports the current code coverage as a fraction in the range [0, 1].
- func Coverage() float64 {
- var n, d int64
- for _, counters := range cover.Counters {
- for _, c := range counters {
- if c > 0 {
- n++
- }
- d++
- }
- }
- if d == 0 {
- return 0
- }
- return float64(n) / float64(d)
- }
- */
-
- var f float64
- // f += testing.Coverage()
- f += decodeCoverage()
- return f
-}
-
-func decodeCoverage() float64 {
- n := 0
- for _, t := range decoderCover {
- if t {
- n++
- }
- }
- return float64(1+n) / float64(1+len(decoderCover))
-}
-
-// Helpers for writing disassembler output parsers.
-
-// isPrefix reports whether text is the name of an instruction prefix.
-func isPrefix(text string) bool {
- return prefixByte[text] > 0
-}
-
-// prefixByte maps instruction prefix text to actual prefix byte values.
-var prefixByte = map[string]byte{
- "es": 0x26,
- "cs": 0x2e,
- "ss": 0x36,
- "ds": 0x3e,
- "fs": 0x64,
- "gs": 0x65,
- "data16": 0x66,
- "addr16": 0x67,
- "lock": 0xf0,
- "repn": 0xf2,
- "repne": 0xf2,
- "rep": 0xf3,
- "repe": 0xf3,
- "xacquire": 0xf2,
- "xrelease": 0xf3,
- "bnd": 0xf2,
- "addr32": 0x66,
- "data32": 0x67,
-}
-
-// hasPrefix reports whether any of the space-separated words in the text s
-// begins with any of the given prefixes.
-func hasPrefix(s string, prefixes ...string) bool {
- for _, prefix := range prefixes {
- for s := s; s != ""; {
- if strings.HasPrefix(s, prefix) {
- return true
- }
- i := strings.Index(s, " ")
- if i < 0 {
- break
- }
- s = s[i+1:]
- }
- }
- return false
-}
-
-// contains reports whether the text s contains any of the given substrings.
-func contains(s string, substrings ...string) bool {
- for _, sub := range substrings {
- if strings.Contains(s, sub) {
- return true
- }
- }
- return false
-}
-
-// isHex reports whether b is a hexadecimal character (0-9A-Fa-f).
-func isHex(b byte) bool { return b == '0' || unhex[b] > 0 }
-
-// parseHex parses the hexadecimal byte dump in hex,
-// appending the parsed bytes to raw and returning the updated slice.
-// The returned bool signals whether any invalid hex was found.
-// Spaces and tabs between bytes are okay but any other non-hex is not.
-func parseHex(hex []byte, raw []byte) ([]byte, bool) {
- hex = trimSpace(hex)
- for j := 0; j < len(hex); {
- for hex[j] == ' ' || hex[j] == '\t' {
- j++
- }
- if j >= len(hex) {
- break
- }
- if j+2 > len(hex) || !isHex(hex[j]) || !isHex(hex[j+1]) {
- return nil, false
- }
- raw = append(raw, unhex[hex[j]]<<4|unhex[hex[j+1]])
- j += 2
- }
- return raw, true
-}
-
-var unhex = [256]byte{
- '0': 0,
- '1': 1,
- '2': 2,
- '3': 3,
- '4': 4,
- '5': 5,
- '6': 6,
- '7': 7,
- '8': 8,
- '9': 9,
- 'A': 10,
- 'B': 11,
- 'C': 12,
- 'D': 13,
- 'E': 14,
- 'F': 15,
- 'a': 10,
- 'b': 11,
- 'c': 12,
- 'd': 13,
- 'e': 14,
- 'f': 15,
-}
-
-// index is like bytes.Index(s, []byte(t)) but avoids the allocation.
-func index(s []byte, t string) int {
- i := 0
- for {
- j := bytes.IndexByte(s[i:], t[0])
- if j < 0 {
- return -1
- }
- i = i + j
- if i+len(t) > len(s) {
- return -1
- }
- for k := 1; k < len(t); k++ {
- if s[i+k] != t[k] {
- goto nomatch
- }
- }
- return i
- nomatch:
- i++
- }
-}
-
-// fixSpace rewrites runs of spaces, tabs, and newline characters into single spaces in s.
-// If s must be rewritten, it is rewritten in place.
-func fixSpace(s []byte) []byte {
- s = trimSpace(s)
- for i := 0; i < len(s); i++ {
- if s[i] == '\t' || s[i] == '\n' || i > 0 && s[i] == ' ' && s[i-1] == ' ' {
- goto Fix
- }
- }
- return s
-
-Fix:
- b := s
- w := 0
- for i := 0; i < len(s); i++ {
- c := s[i]
- if c == '\t' || c == '\n' {
- c = ' '
- }
- if c == ' ' && w > 0 && b[w-1] == ' ' {
- continue
- }
- b[w] = c
- w++
- }
- if w > 0 && b[w-1] == ' ' {
- w--
- }
- return b[:w]
-}
-
-// trimSpace trims leading and trailing space from s, returning a subslice of s.
-func trimSpace(s []byte) []byte {
- j := len(s)
- for j > 0 && (s[j-1] == ' ' || s[j-1] == '\t' || s[j-1] == '\n') {
- j--
- }
- i := 0
- for i < j && (s[i] == ' ' || s[i] == '\t') {
- i++
- }
- return s[i:j]
-}
-
-// pcrel and pcrelw match instructions using relative addressing mode.
-var (
- pcrel = regexp.MustCompile(`^((?:.* )?(?:j[a-z]+|call|ljmp|loopn?e?w?|xbegin)q?(?:,p[nt])?) 0x([0-9a-f]+)$`)
- pcrelw = regexp.MustCompile(`^((?:.* )?(?:callw|jmpw|xbeginw|ljmpw)(?:,p[nt])?) 0x([0-9a-f]+)$`)
-)
-
-// Generators.
-//
-// The test cases are described as functions that invoke a callback repeatedly,
-// with a new input sequence each time. These helpers make writing those
-// a little easier.
-
-// hexCases generates the cases written in hexadecimal in the encoded string.
-// Spaces in 'encoded' separate entire test cases, not individual bytes.
-func hexCases(t *testing.T, encoded string) func(func([]byte)) {
- return func(try func([]byte)) {
- for _, x := range strings.Fields(encoded) {
- src, err := hex.DecodeString(x)
- if err != nil {
- t.Errorf("parsing %q: %v", x, err)
- }
- try(src)
- }
- }
-}
-
-// testdataCases generates the test cases recorded in testdata/decode.txt.
-// It only uses the inputs; it ignores the answers recorded in that file.
-func testdataCases(t *testing.T) func(func([]byte)) {
- var codes [][]byte
- data, err := ioutil.ReadFile("testdata/decode.txt")
- if err != nil {
- t.Fatal(err)
- }
- for _, line := range strings.Split(string(data), "\n") {
- line = strings.TrimSpace(line)
- if line == "" || strings.HasPrefix(line, "#") {
- continue
- }
- f := strings.Fields(line)[0]
- i := strings.Index(f, "|")
- if i < 0 {
- t.Errorf("parsing %q: missing | separator", f)
- continue
- }
- if i%2 != 0 {
- t.Errorf("parsing %q: misaligned | separator", f)
- }
- code, err := hex.DecodeString(f[:i] + f[i+1:])
- if err != nil {
- t.Errorf("parsing %q: %v", f, err)
- continue
- }
- codes = append(codes, code)
- }
-
- return func(try func([]byte)) {
- for _, code := range codes {
- try(code)
- }
- }
-}
-
-// manyPrefixes generates all possible 2â¹ combinations of nine chosen prefixes.
-// The relative ordering of the prefixes within the combinations varies deterministically.
-func manyPrefixes(try func([]byte)) {
- var prefixBytes = []byte{0x66, 0x67, 0xF0, 0xF2, 0xF3, 0x3E, 0x36, 0x66, 0x67}
- var enc []byte
- for i := 0; i < 1<<uint(len(prefixBytes)); i++ {
- enc = enc[:0]
- for j, p := range prefixBytes {
- if i&(1<<uint(j)) != 0 {
- enc = append(enc, p)
- }
- }
- if len(enc) > 0 {
- k := i % len(enc)
- enc[0], enc[k] = enc[k], enc[0]
- }
- try(enc)
- }
-}
-
-// basicPrefixes geneartes 8 different possible prefix cases: no prefix
-// and then one each of seven different prefix bytes.
-func basicPrefixes(try func([]byte)) {
- try(nil)
- for _, b := range []byte{0x66, 0x67, 0xF0, 0xF2, 0xF3, 0x3E, 0x36} {
- try([]byte{b})
- }
-}
-
-func rexPrefixes(try func([]byte)) {
- try(nil)
- for _, b := range []byte{0x40, 0x48, 0x43, 0x4C} {
- try([]byte{b})
- }
-}
-
-// concat takes two generators and returns a generator for the
-// cross product of the two, concatenating the results from each.
-func concat(gen1, gen2 func(func([]byte))) func(func([]byte)) {
- return func(try func([]byte)) {
- gen1(func(enc1 []byte) {
- gen2(func(enc2 []byte) {
- try(append(enc1[:len(enc1):len(enc1)], enc2...))
- })
- })
- }
-}
-
-// concat3 takes three generators and returns a generator for the
-// cross product of the three, concatenating the results from each.
-func concat3(gen1, gen2, gen3 func(func([]byte))) func(func([]byte)) {
- return func(try func([]byte)) {
- gen1(func(enc1 []byte) {
- gen2(func(enc2 []byte) {
- gen3(func(enc3 []byte) {
- try(append(append(enc1[:len(enc1):len(enc1)], enc2...), enc3...))
- })
- })
- })
- }
-}
-
-// concat4 takes four generators and returns a generator for the
-// cross product of the four, concatenating the results from each.
-func concat4(gen1, gen2, gen3, gen4 func(func([]byte))) func(func([]byte)) {
- return func(try func([]byte)) {
- gen1(func(enc1 []byte) {
- gen2(func(enc2 []byte) {
- gen3(func(enc3 []byte) {
- gen4(func(enc4 []byte) {
- try(append(append(append(enc1[:len(enc1):len(enc1)], enc2...), enc3...), enc4...))
- })
- })
- })
- })
- }
-}
-
-// filter generates the sequences from gen that satisfy ok.
-func filter(gen func(func([]byte)), ok func([]byte) bool) func(func([]byte)) {
- return func(try func([]byte)) {
- gen(func(enc []byte) {
- if ok(enc) {
- try(enc)
- }
- })
- }
-}
-
-// enum8bit generates all possible 1-byte sequences, followed by distinctive padding.
-func enum8bit(try func([]byte)) {
- for i := 0; i < 1<<8; i++ {
- try([]byte{byte(i), 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88})
- }
-}
-
-// enum8bit generates all possible 2-byte sequences, followed by distinctive padding.
-func enum16bit(try func([]byte)) {
- for i := 0; i < 1<<16; i++ {
- try([]byte{byte(i), byte(i >> 8), 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88})
- }
-}
-
-// enum24bit generates all possible 3-byte sequences, followed by distinctive padding.
-func enum24bit(try func([]byte)) {
- for i := 0; i < 1<<24; i++ {
- try([]byte{byte(i), byte(i >> 8), byte(i >> 16), 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88})
- }
-}
-
-// enumModRM generates all possible modrm bytes and, for modrm values that indicate
-// a following sib byte, all possible modrm, sib combinations.
-func enumModRM(try func([]byte)) {
- for i := 0; i < 256; i++ {
- if (i>>3)&07 == 04 && i>>6 != 3 { // has sib
- for j := 0; j < 256; j++ {
- try([]byte{0, byte(i), byte(j), 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}) // byte encodings
- try([]byte{1, byte(i), byte(j), 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}) // word encodings
- }
- } else {
- try([]byte{0, byte(i), 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}) // byte encodings
- try([]byte{1, byte(i), 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}) // word encodings
- }
- }
-}
-
-// fixed generates the single case b.
-// It's mainly useful to prepare an argument for concat or concat3.
-func fixed(b ...byte) func(func([]byte)) {
- return func(try func([]byte)) {
- try(b)
- }
-}
-
-// testBasic runs the given test function with cases all using opcode as the initial opcode bytes.
-// It runs three phases:
-//
-// First, zero-or-one prefixes followed by opcode followed by all possible 1-byte values.
-// If in -short mode, that's all.
-//
-// Second, zero-or-one prefixes followed by opcode followed by all possible 2-byte values.
-// If not in -long mode, that's all. This phase and the next run in parallel with other tests
-// (using t.Parallel).
-//
-// Finally, opcode followed by all possible 3-byte values. The test can take a very long time
-// and prints progress messages to package log.
-func testBasic(t *testing.T, testfn func(*testing.T, func(func([]byte))), opcode ...byte) {
- testfn(t, concat3(basicPrefixes, fixed(opcode...), enum8bit))
- if testing.Short() {
- return
- }
-
- t.Parallel()
- testfn(t, concat3(basicPrefixes, fixed(opcode...), enum16bit))
- if !*longTest {
- return
- }
-
- name := caller(2)
- op1 := make([]byte, len(opcode)+1)
- copy(op1, opcode)
- for i := 0; i < 256; i++ {
- log.Printf("%s 24-bit: %d/256\n", name, i)
- op1[len(opcode)] = byte(i)
- testfn(t, concat(fixed(op1...), enum16bit))
- }
-}
-
-func testBasicREX(t *testing.T, testfn func(*testing.T, func(func([]byte))), opcode ...byte) {
- testfn(t, filter(concat4(basicPrefixes, rexPrefixes, fixed(opcode...), enum8bit), isValidREX))
- if testing.Short() {
- return
- }
-
- t.Parallel()
- testfn(t, filter(concat4(basicPrefixes, rexPrefixes, fixed(opcode...), enum16bit), isValidREX))
- if !*longTest {
- return
- }
-
- name := caller(2)
- op1 := make([]byte, len(opcode)+1)
- copy(op1, opcode)
- for i := 0; i < 256; i++ {
- log.Printf("%s 24-bit: %d/256\n", name, i)
- op1[len(opcode)] = byte(i)
- testfn(t, filter(concat3(rexPrefixes, fixed(op1...), enum16bit), isValidREX))
- }
-}
-
-// testPrefix runs the given test function for all many prefix possibilities
-// followed by all possible 1-byte sequences.
-//
-// If in -long mode, it then runs a test of all the prefix possibilities followed
-// by all possible 2-byte sequences.
-func testPrefix(t *testing.T, testfn func(*testing.T, func(func([]byte)))) {
- t.Parallel()
- testfn(t, concat(manyPrefixes, enum8bit))
- if testing.Short() || !*longTest {
- return
- }
-
- name := caller(2)
- for i := 0; i < 256; i++ {
- log.Printf("%s 16-bit: %d/256\n", name, i)
- testfn(t, concat3(manyPrefixes, fixed(byte(i)), enum8bit))
- }
-}
-
-func testPrefixREX(t *testing.T, testfn func(*testing.T, func(func([]byte)))) {
- t.Parallel()
- testfn(t, filter(concat3(manyPrefixes, rexPrefixes, enum8bit), isValidREX))
- if testing.Short() || !*longTest {
- return
- }
-
- name := caller(2)
- for i := 0; i < 256; i++ {
- log.Printf("%s 16-bit: %d/256\n", name, i)
- testfn(t, filter(concat4(manyPrefixes, rexPrefixes, fixed(byte(i)), enum8bit), isValidREX))
- }
-}
-
-func caller(skip int) string {
- pc, _, _, _ := runtime.Caller(skip)
- f := runtime.FuncForPC(pc)
- name := "?"
- if f != nil {
- name = f.Name()
- if i := strings.LastIndex(name, "."); i >= 0 {
- name = name[i+1:]
- }
- }
- return name
-}
-
-func isValidREX(x []byte) bool {
- i := 0
- for i < len(x) && isPrefixByte(x[i]) {
- i++
- }
- if i < len(x) && Prefix(x[i]).IsREX() {
- i++
- if i < len(x) {
- return !isPrefixByte(x[i]) && !Prefix(x[i]).IsREX()
- }
- }
- return true
-}
-
-func isPrefixByte(b byte) bool {
- switch b {
- case 0x26, 0x2E, 0x36, 0x3E, 0x64, 0x65, 0x66, 0x67, 0xF0, 0xF2, 0xF3:
- return true
- }
- return false
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/format_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/format_test.go
deleted file mode 100644
index 9f110f8105..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/format_test.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package x86asm
-
-import (
- "encoding/hex"
- "testing"
-)
-
-func testFormattingSymname(addr uint64) (string, uint64) {
- switch addr {
- case 0x424080:
- return "runtime.printint", 0x424080
- case 0x4c8068:
- return "main.A", 0x4c8068
- }
- return "", 0
-}
-
-func TestFormatting(t *testing.T) {
- testCases := []struct {
- PC uint64
- bytes string
-
- goSyntax, intelSyntax, gnuSyntax string
- }{
- {0x4816b2, "0f8677010000",
- "JBE 0x48182f",
- "jbe 0x48182f",
- "jbe 0x48182f"},
- {0x45065b, "488b442408",
- "MOVQ 0x8(SP), AX",
- "mov rax, qword ptr [rsp+0x8]",
- "mov 0x8(%rsp),%rax"},
- {0x450678, "488b05e9790700",
- "MOVQ main.A(SB), AX",
- "mov rax, qword ptr [main.A]",
- "mov main.A,%rax"},
- {0x450664, "e8173afdff",
- "CALL runtime.printint(SB)",
- "call runtime.printint",
- "callq runtime.printint"},
- {0x45069b, "488d0575d90100",
- "LEAQ 0x1d975(IP), AX",
- "lea rax, ptr [rip+0x1d975]",
- "lea 0x1d975(%rip),%rax"},
- }
-
- for _, testCase := range testCases {
- t.Logf("%#x %s %s", testCase.PC, testCase.bytes, testCase.goSyntax)
- bs, _ := hex.DecodeString(testCase.bytes)
- inst, err := Decode(bs, 64)
- if err != nil {
- t.Errorf("decode error %v", err)
- }
- if out := GoSyntax(inst, testCase.PC, testFormattingSymname); out != testCase.goSyntax {
- t.Errorf("GoSyntax: %q", out)
- }
- if out := IntelSyntax(inst, testCase.PC, testFormattingSymname); out != testCase.intelSyntax {
- t.Errorf("IntelSyntax: %q expected: %q", out, testCase.intelSyntax)
- }
- if out := GNUSyntax(inst, testCase.PC, testFormattingSymname); out != testCase.gnuSyntax {
- t.Errorf("GNUSyntax: %q expected: %q", out, testCase.gnuSyntax)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/inst_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/inst_test.go
deleted file mode 100644
index 23ac523207..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/inst_test.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// 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.
-
-package x86asm
-
-import (
- "strings"
- "testing"
-)
-
-func TestRegString(t *testing.T) {
- for r := Reg(1); r <= regMax; r++ {
- if regNames[r] == "" {
- t.Errorf("regNames[%d] is missing", int(r))
- } else if s := r.String(); strings.Contains(s, "Reg(") {
- t.Errorf("Reg(%d).String() = %s, want proper name", int(r), s)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdump_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdump_test.go
deleted file mode 100644
index 3d4e1460f8..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdump_test.go
+++ /dev/null
@@ -1,385 +0,0 @@
-// 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.
-
-package x86asm
-
-import (
- "bytes"
- "strings"
- "testing"
-)
-
-func TestObjdump32Manual(t *testing.T) { testObjdump32(t, hexCases(t, objdumpManualTests)) }
-func TestObjdump32Testdata(t *testing.T) { testObjdump32(t, concat(basicPrefixes, testdataCases(t))) }
-func TestObjdump32ModRM(t *testing.T) { testObjdump32(t, concat(basicPrefixes, enumModRM)) }
-func TestObjdump32OneByte(t *testing.T) { testBasic(t, testObjdump32) }
-func TestObjdump320F(t *testing.T) { testBasic(t, testObjdump32, 0x0F) }
-func TestObjdump320F38(t *testing.T) { testBasic(t, testObjdump32, 0x0F, 0x38) }
-func TestObjdump320F3A(t *testing.T) { testBasic(t, testObjdump32, 0x0F, 0x3A) }
-func TestObjdump32Prefix(t *testing.T) { testPrefix(t, testObjdump32) }
-
-func TestObjdump64Manual(t *testing.T) { testObjdump64(t, hexCases(t, objdumpManualTests)) }
-func TestObjdump64Testdata(t *testing.T) { testObjdump64(t, concat(basicPrefixes, testdataCases(t))) }
-func TestObjdump64ModRM(t *testing.T) { testObjdump64(t, concat(basicPrefixes, enumModRM)) }
-func TestObjdump64OneByte(t *testing.T) { testBasic(t, testObjdump64) }
-func TestObjdump640F(t *testing.T) { testBasic(t, testObjdump64, 0x0F) }
-func TestObjdump640F38(t *testing.T) { testBasic(t, testObjdump64, 0x0F, 0x38) }
-func TestObjdump640F3A(t *testing.T) { testBasic(t, testObjdump64, 0x0F, 0x3A) }
-func TestObjdump64Prefix(t *testing.T) { testPrefix(t, testObjdump64) }
-
-func TestObjdump64REXTestdata(t *testing.T) {
- testObjdump64(t, filter(concat3(basicPrefixes, rexPrefixes, testdataCases(t)), isValidREX))
-}
-func TestObjdump64REXModRM(t *testing.T) {
- testObjdump64(t, concat3(basicPrefixes, rexPrefixes, enumModRM))
-}
-func TestObjdump64REXOneByte(t *testing.T) { testBasicREX(t, testObjdump64) }
-func TestObjdump64REX0F(t *testing.T) { testBasicREX(t, testObjdump64, 0x0F) }
-func TestObjdump64REX0F38(t *testing.T) { testBasicREX(t, testObjdump64, 0x0F, 0x38) }
-func TestObjdump64REX0F3A(t *testing.T) { testBasicREX(t, testObjdump64, 0x0F, 0x3A) }
-func TestObjdump64REXPrefix(t *testing.T) { testPrefixREX(t, testObjdump64) }
-
-// objdumpManualTests holds test cases that will be run by TestObjdumpManual.
-// If you are debugging a few cases that turned up in a longer run, it can be useful
-// to list them here and then use -run=ObjdumpManual, particularly with tracing enabled.
-var objdumpManualTests = `
-4883FE017413
-488DFC2500000000
-488D3D00000000
-`
-
-// allowedMismatchObjdump reports whether the mismatch between text and dec
-// should be allowed by the test.
-func allowedMismatchObjdump(text string, size int, inst *Inst, dec ExtInst) bool {
- if size == 15 && dec.nenc == 15 && contains(text, "truncated") && contains(dec.text, "(bad)") {
- return true
- }
-
- if i := strings.LastIndex(dec.text, " "); isPrefix(dec.text[i+1:]) && size == 1 && isPrefix(text) {
- return true
- }
-
- if size == dec.nenc && contains(dec.text, "movupd") && contains(dec.text, "data32") {
- s := strings.Replace(dec.text, "data32 ", "", -1)
- if text == s {
- return true
- }
- }
-
- // Simplify our invalid instruction text.
- if text == "error: unrecognized instruction" {
- text = "BAD"
- }
-
- // Invalid instructions for which libopcodes prints %? register.
- // FF E8 11 22 33 44:
- // Invalid instructions for which libopcodes prints "internal disassembler error".
- // Invalid instructions for which libopcodes prints 8087 only (e.g., DB E0)
- // or prints 287 only (e.g., DB E4).
- if contains(dec.text, "%?", "<internal disassembler error>", "(8087 only)", "(287 only)") {
- dec.text = "(bad)"
- }
-
- // 0F 19 11, 0F 1C 11, 0F 1D 11, 0F 1E 11, 0F 1F 11: libopcodes says nop,
- // but the Intel manuals say that the only NOP there is 0F 1F /0.
- // Perhaps libopcodes is reporting an older encoding.
- i := bytes.IndexByte(dec.enc[:], 0x0F)
- if contains(dec.text, "nop") && i >= 0 && i+2 < len(dec.enc) && dec.enc[i+1]&^7 == 0x18 && (dec.enc[i+1] != 0x1F || (dec.enc[i+2]>>3)&7 != 0) {
- dec.text = "(bad)"
- }
-
- // Any invalid instruction.
- if text == "BAD" && contains(dec.text, "(bad)") {
- return true
- }
-
- // Instructions libopcodes knows but we do not (e.g., 0F 19 11).
- if (text == "BAD" || size == 1 && isPrefix(text)) && hasPrefix(dec.text, unsupported...) {
- return true
- }
-
- // Instructions we know but libopcodes does not (e.g., 0F D0 11).
- if (contains(dec.text, "(bad)") || dec.nenc == 1 && isPrefix(dec.text)) && hasPrefix(text, libopcodesUnsupported...) {
- return true
- }
-
- // Libopcodes rejects F2 90 as NOP. Not sure why.
- if (contains(dec.text, "(bad)") || dec.nenc == 1 && isPrefix(dec.text)) && inst.Opcode>>24 == 0x90 && countPrefix(inst, 0xF2) > 0 {
- return true
- }
-
- // 0F 20 11, 0F 21 11, 0F 22 11, 0F 23 11, 0F 24 11:
- // Moves into and out of some control registers seem to be unsupported by libopcodes.
- // TODO(rsc): Are they invalid somehow?
- if (contains(dec.text, "(bad)") || dec.nenc == 1 && isPrefix(dec.text)) && contains(text, "%cr", "%db", "%tr") {
- return true
- }
-
- if contains(dec.text, "fwait") && dec.nenc == 1 && dec.enc[0] != 0x9B {
- return true
- }
-
- // 9B D9 11: libopcodes reports FSTSW instead of FWAIT + FNSTSW.
- // This is correct in that FSTSW is a pseudo-op for the pair, but it really
- // is a pair of instructions: execution can stop between them.
- // Our decoder chooses to separate them.
- if (text == "fwait" || strings.HasSuffix(text, " fwait")) && dec.nenc >= len(strings.Fields(text)) && dec.enc[len(strings.Fields(text))-1] == 0x9B {
- return true
- }
-
- // 0F 18 77 11:
- // Invalid instructions for which libopcodes prints "nop/reserved".
- // Perhaps libopcodes is reporting an older encoding.
- if text == "BAD" && contains(dec.text, "nop/reserved") {
- return true
- }
-
- // 0F C7 B0 11 22 33 44: libopcodes says vmptrld 0x44332211(%eax); we say rdrand %eax.
- // TODO(rsc): Fix, since we are probably wrong, but we don't have vmptrld in the manual.
- if contains(text, "rdrand") && contains(dec.text, "vmptrld", "vmxon", "vmclear") {
- return true
- }
-
- // DD C8: libopcodes says FNOP but the Intel manual is clear FNOP is only D9 D0.
- // Perhaps libopcodes is reporting an older encoding.
- if text == "BAD" && contains(dec.text, "fnop") && (dec.enc[0] != 0xD9 || dec.enc[1] != 0xD0) {
- return true
- }
-
- // 66 90: libopcodes says xchg %ax,%ax; we say 'data16 nop'.
- // The 16-bit swap will preserve the high bits of the register,
- // so they are the same.
- if contains(text, "nop") && contains(dec.text, "xchg %ax,%ax") {
- return true
- }
-
- // If there are multiple prefixes, allow libopcodes to use an alternate name.
- if size == 1 && dec.nenc == 1 && prefixByte[text] > 0 && prefixByte[text] == prefixByte[dec.text] {
- return true
- }
-
- // 26 9B: libopcodes reports "fwait"/1, ignoring segment prefix.
- // https://sourceware.org/bugzilla/show_bug.cgi?id=16891
- // F0 82: Decode="lock"/1 but libopcodes="lock (bad)"/2.
- if size == 1 && dec.nenc >= 1 && prefixByte[text] == dec.enc[0] && contains(dec.text, "(bad)", "fwait", "fnop") {
- return true
- }
-
- // libopcodes interprets 660f801122 as taking a rel16 but
- // truncating the address at 16 bits. Not sure what is correct.
- if contains(text, ".+0x2211", ".+0x11") && contains(dec.text, " .-") {
- return true
- }
-
- // 66 F3 0F D6 C5, 66 F2 0F D6 C0: libopcodes reports use of XMM register instead of MMX register,
- // but only when the instruction has a 66 prefix. Maybe they know something we don't.
- if countPrefix(inst, 0x66) > 0 && contains(dec.text, "movdq2q", "movq2dq") && !contains(dec.text, "%mm") {
- return true
- }
-
- // 0F 01 F8, 0F 05, 0F 07: these are 64-bit instructions but libopcodes accepts them.
- if (text == "BAD" || size == 1 && isPrefix(text)) && contains(dec.text, "swapgs", "syscall", "sysret", "rdfsbase", "rdgsbase", "wrfsbase", "wrgsbase") {
- return true
- }
-
- return false
-}
-
-// Instructions known to libopcodes (or xed) but not to us.
-// Most of these come from supplementary manuals of one form or another.
-var unsupported = strings.Fields(`
- bndc
- bndl
- bndm
- bnds
- clac
- clgi
- femms
- fldln
- fldz
- getsec
- invlpga
- kmov
- montmul
- pavg
- pf2i
- pfacc
- pfadd
- pfcmp
- pfmax
- pfmin
- pfmul
- pfna
- pfpnac
- pfrc
- pfrs
- pfsub
- phadd
- phsub
- pi2f
- pmulhr
- prefetch
- pswap
- ptest
- rdseed
- sha1
- sha256
- skinit
- stac
- stgi
- vadd
- vand
- vcmp
- vcomis
- vcvt
- vcvt
- vdiv
- vhadd
- vhsub
- vld
- vmax
- vmcall
- vmfunc
- vmin
- vmlaunch
- vmload
- vmmcall
- vmov
- vmov
- vmov
- vmptrld
- vmptrst
- vmread
- vmresume
- vmrun
- vmsave
- vmul
- vmwrite
- vmxoff
- vor
- vpack
- vpadd
- vpand
- vpavg
- vpcmp
- vpcmp
- vpins
- vpmadd
- vpmax
- vpmin
- vpmul
- vpmul
- vpor
- vpsad
- vpshuf
- vpsll
- vpsra
- vpsrad
- vpsrl
- vpsub
- vpunp
- vpxor
- vrcp
- vrsqrt
- vshuf
- vsqrt
- vsub
- vucomis
- vunp
- vxor
- vzero
- xcrypt
- xsha1
- xsha256
- xstore-rng
- insertq
- extrq
- vmclear
- invvpid
- adox
- vmxon
- invept
- adcx
- vmclear
- prefetchwt1
- enclu
- encls
- salc
- fstpnce
- fdisi8087_nop
- fsetpm287_nop
- feni8087_nop
- syscall
- sysret
-`)
-
-// Instructions known to us but not to libopcodes (at least in binutils 2.24).
-var libopcodesUnsupported = strings.Fields(`
- addsubps
- aes
- blend
- cvttpd2dq
- dpp
- extract
- haddps
- hsubps
- insert
- invpcid
- lddqu
- movmsk
- movnt
- movq2dq
- mps
- pack
- pblend
- pclmul
- pcmp
- pext
- phmin
- pins
- pmax
- pmin
- pmov
- pmovmsk
- pmul
- popcnt
- pslld
- psllq
- psllw
- psrad
- psraw
- psrl
- ptest
- punpck
- round
- xrstor
- xsavec
- xsaves
- comis
- ucomis
- movhps
- movntps
- rsqrt
- rcpp
- puncpck
- bsf
- movq2dq
- cvttpd2dq
- movq
- hsubpd
- movdqa
- movhpd
- addsubpd
- movd
- haddpd
- cvtps2dq
- bsr
- cvtdq2ps
- rdrand
- maskmov
- movq2dq
- movlhps
- movbe
- movlpd
-`)
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdumpext_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdumpext_test.go
deleted file mode 100644
index d1b067d84e..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/objdumpext_test.go
+++ /dev/null
@@ -1,313 +0,0 @@
-// 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.
-
-package x86asm
-
-import (
- "bytes"
- "debug/elf"
- "encoding/binary"
- "fmt"
- "io"
- "log"
- "os"
- "strconv"
- "strings"
- "testing"
-)
-
-// Apologies for the proprietary path, but we need objdump 2.24 + some committed patches that will land in 2.25.
-const objdumpPath = "/Users/rsc/bin/objdump2"
-
-func testObjdump32(t *testing.T, generate func(func([]byte))) {
- testObjdumpArch(t, generate, 32)
-}
-
-func testObjdump64(t *testing.T, generate func(func([]byte))) {
- testObjdumpArch(t, generate, 64)
-}
-
-func testObjdumpArch(t *testing.T, generate func(func([]byte)), arch int) {
- if testing.Short() {
- t.Skip("skipping objdump test in short mode")
- }
- if _, err := os.Stat(objdumpPath); err != nil {
- t.Skip(err)
- }
-
- testExtDis(t, "gnu", arch, objdump, generate, allowedMismatchObjdump)
-}
-
-func objdump(ext *ExtDis) error {
- // File already written with instructions; add ELF header.
- if ext.Arch == 32 {
- if err := writeELF32(ext.File, ext.Size); err != nil {
- return err
- }
- } else {
- if err := writeELF64(ext.File, ext.Size); err != nil {
- return err
- }
- }
-
- b, err := ext.Run(objdumpPath, "-d", "-z", ext.File.Name())
- if err != nil {
- return err
- }
-
- var (
- nmatch int
- reading bool
- next uint32 = start
- addr uint32
- encbuf [32]byte
- enc []byte
- text string
- )
- flush := func() {
- if addr == next {
- switch text {
- case "repz":
- text = "rep"
- case "repnz":
- text = "repn"
- default:
- text = strings.Replace(text, "repz ", "rep ", -1)
- text = strings.Replace(text, "repnz ", "repn ", -1)
- }
- if m := pcrelw.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], int16(uint32(targ)-uint32(uint16(addr))-uint32(len(enc))))
- }
- if m := pcrel.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], int32(uint32(targ)-addr-uint32(len(enc))))
- }
- text = strings.Replace(text, "0x0(", "(", -1)
- text = strings.Replace(text, "%st(0)", "%st", -1)
-
- ext.Dec <- ExtInst{addr, encbuf, len(enc), text}
- encbuf = [32]byte{}
- enc = nil
- next += 32
- }
- }
- var textangle = []byte("<.text>:")
- for {
- line, err := b.ReadSlice('\n')
- if err != nil {
- if err == io.EOF {
- break
- }
- return fmt.Errorf("reading objdump output: %v", err)
- }
- if bytes.Contains(line, textangle) {
- reading = true
- continue
- }
- if !reading {
- continue
- }
- if debug {
- os.Stdout.Write(line)
- }
- if enc1 := parseContinuation(line, encbuf[:len(enc)]); enc1 != nil {
- enc = enc1
- continue
- }
- flush()
- nmatch++
- addr, enc, text = parseLine(line, encbuf[:0])
- if addr > next {
- return fmt.Errorf("address out of sync expected <= %#x at %q in:\n%s", next, line, line)
- }
- }
- flush()
- if next != start+uint32(ext.Size) {
- return fmt.Errorf("not enough results found [%d %d]", next, start+ext.Size)
- }
- if err := ext.Wait(); err != nil {
- return fmt.Errorf("exec: %v", err)
- }
-
- return nil
-}
-
-func parseLine(line []byte, encstart []byte) (addr uint32, enc []byte, text string) {
- oline := line
- i := index(line, ":\t")
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- x, err := strconv.ParseUint(string(trimSpace(line[:i])), 16, 32)
- if err != nil {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- addr = uint32(x)
- line = line[i+2:]
- i = bytes.IndexByte(line, '\t')
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- enc, ok := parseHex(line[:i], encstart)
- if !ok {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- line = trimSpace(line[i:])
- if i := bytes.IndexByte(line, '#'); i >= 0 {
- line = trimSpace(line[:i])
- }
- text = string(fixSpace(line))
- return
-}
-
-func parseContinuation(line []byte, enc []byte) []byte {
- i := index(line, ":\t")
- if i < 0 {
- return nil
- }
- line = line[i+1:]
- enc, _ = parseHex(line, enc)
- return enc
-}
-
-// writeELF32 writes an ELF32 header to the file,
-// describing a text segment that starts at start
-// and extends for size bytes.
-func writeELF32(f *os.File, size int) error {
- f.Seek(0, io.SeekStart)
- var hdr elf.Header32
- var prog elf.Prog32
- var sect elf.Section32
- var buf bytes.Buffer
- binary.Write(&buf, binary.LittleEndian, &hdr)
- off1 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &prog)
- off2 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &sect)
- off3 := buf.Len()
- buf.Reset()
- data := byte(elf.ELFDATA2LSB)
- hdr = elf.Header32{
- Ident: [16]byte{0x7F, 'E', 'L', 'F', 1, data, 1},
- Type: 2,
- Machine: uint16(elf.EM_386),
- Version: 1,
- Entry: start,
- Phoff: uint32(off1),
- Shoff: uint32(off2),
- Flags: 0x05000002,
- Ehsize: uint16(off1),
- Phentsize: uint16(off2 - off1),
- Phnum: 1,
- Shentsize: uint16(off3 - off2),
- Shnum: 3,
- Shstrndx: 2,
- }
- binary.Write(&buf, binary.LittleEndian, &hdr)
- prog = elf.Prog32{
- Type: 1,
- Off: start,
- Vaddr: start,
- Paddr: start,
- Filesz: uint32(size),
- Memsz: uint32(size),
- Flags: 5,
- Align: start,
- }
- binary.Write(&buf, binary.LittleEndian, &prog)
- binary.Write(&buf, binary.LittleEndian, &sect) // NULL section
- sect = elf.Section32{
- Name: 1,
- Type: uint32(elf.SHT_PROGBITS),
- Addr: start,
- Off: start,
- Size: uint32(size),
- Flags: uint32(elf.SHF_ALLOC | elf.SHF_EXECINSTR),
- Addralign: 4,
- }
- binary.Write(&buf, binary.LittleEndian, &sect) // .text
- sect = elf.Section32{
- Name: uint32(len("\x00.text\x00")),
- Type: uint32(elf.SHT_STRTAB),
- Addr: 0,
- Off: uint32(off2 + (off3-off2)*3),
- Size: uint32(len("\x00.text\x00.shstrtab\x00")),
- Addralign: 1,
- }
- binary.Write(&buf, binary.LittleEndian, &sect)
- buf.WriteString("\x00.text\x00.shstrtab\x00")
- f.Write(buf.Bytes())
- return nil
-}
-
-// writeELF64 writes an ELF64 header to the file,
-// describing a text segment that starts at start
-// and extends for size bytes.
-func writeELF64(f *os.File, size int) error {
- f.Seek(0, io.SeekStart)
- var hdr elf.Header64
- var prog elf.Prog64
- var sect elf.Section64
- var buf bytes.Buffer
- binary.Write(&buf, binary.LittleEndian, &hdr)
- off1 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &prog)
- off2 := buf.Len()
- binary.Write(&buf, binary.LittleEndian, &sect)
- off3 := buf.Len()
- buf.Reset()
- data := byte(elf.ELFDATA2LSB)
- hdr = elf.Header64{
- Ident: [16]byte{0x7F, 'E', 'L', 'F', 2, data, 1},
- Type: 2,
- Machine: uint16(elf.EM_X86_64),
- Version: 1,
- Entry: start,
- Phoff: uint64(off1),
- Shoff: uint64(off2),
- Flags: 0x05000002,
- Ehsize: uint16(off1),
- Phentsize: uint16(off2 - off1),
- Phnum: 1,
- Shentsize: uint16(off3 - off2),
- Shnum: 3,
- Shstrndx: 2,
- }
- binary.Write(&buf, binary.LittleEndian, &hdr)
- prog = elf.Prog64{
- Type: 1,
- Off: start,
- Vaddr: start,
- Paddr: start,
- Filesz: uint64(size),
- Memsz: uint64(size),
- Flags: 5,
- Align: start,
- }
- binary.Write(&buf, binary.LittleEndian, &prog)
- binary.Write(&buf, binary.LittleEndian, &sect) // NULL section
- sect = elf.Section64{
- Name: 1,
- Type: uint32(elf.SHT_PROGBITS),
- Addr: start,
- Off: start,
- Size: uint64(size),
- Flags: uint64(elf.SHF_ALLOC | elf.SHF_EXECINSTR),
- Addralign: 4,
- }
- binary.Write(&buf, binary.LittleEndian, &sect) // .text
- sect = elf.Section64{
- Name: uint32(len("\x00.text\x00")),
- Type: uint32(elf.SHT_STRTAB),
- Addr: 0,
- Off: uint64(off2 + (off3-off2)*3),
- Size: uint64(len("\x00.text\x00.shstrtab\x00")),
- Addralign: 1,
- }
- binary.Write(&buf, binary.LittleEndian, &sect)
- buf.WriteString("\x00.text\x00.shstrtab\x00")
- f.Write(buf.Bytes())
- return nil
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9ext_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9ext_test.go
deleted file mode 100644
index 9bd296cf75..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9ext_test.go
+++ /dev/null
@@ -1,119 +0,0 @@
-// 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.
-
-package x86asm
-
-import (
- "bytes"
- "fmt"
- "io"
- "log"
- "os"
- "strconv"
- "testing"
-)
-
-const plan9Path = "testdata/libmach8db"
-
-func testPlan9Arch(t *testing.T, arch int, generate func(func([]byte))) {
- if testing.Short() {
- t.Skip("skipping libmach test in short mode")
- }
- if _, err := os.Stat(plan9Path); err != nil {
- t.Skip(err)
- }
-
- testExtDis(t, "plan9", arch, plan9, generate, allowedMismatchPlan9)
-}
-
-func testPlan932(t *testing.T, generate func(func([]byte))) {
- testPlan9Arch(t, 32, generate)
-}
-
-func testPlan964(t *testing.T, generate func(func([]byte))) {
- testPlan9Arch(t, 64, generate)
-}
-
-func plan9(ext *ExtDis) error {
- flag := "-8"
- if ext.Arch == 64 {
- flag = "-6"
- }
- b, err := ext.Run(plan9Path, flag, ext.File.Name())
- if err != nil {
- return err
- }
-
- nmatch := 0
- next := uint32(start)
- var (
- addr uint32
- encbuf [32]byte
- enc []byte
- text string
- )
-
- for {
- line, err := b.ReadSlice('\n')
- if err != nil {
- if err == io.EOF {
- break
- }
- return fmt.Errorf("reading libmach8db output: %v", err)
- }
- if debug {
- os.Stdout.Write(line)
- }
- nmatch++
- addr, enc, text = parseLinePlan9(line, encbuf[:0])
- if addr > next {
- return fmt.Errorf("address out of sync expected <= %#x at %q in:\n%s", next, line, line)
- }
- if addr < next {
- continue
- }
- if m := pcrelw.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], int16(uint32(targ)-uint32(uint16(addr))-uint32(len(enc))))
- }
- if m := pcrel.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], int32(uint32(targ)-addr-uint32(len(enc))))
- }
- ext.Dec <- ExtInst{addr, encbuf, len(enc), text}
- encbuf = [32]byte{}
- enc = nil
- next += 32
- }
- if next != start+uint32(ext.Size) {
- return fmt.Errorf("not enough results found [%d %d]", next, start+ext.Size)
- }
- if err := ext.Wait(); err != nil {
- return fmt.Errorf("exec: %v", err)
- }
-
- return nil
-}
-
-func parseLinePlan9(line []byte, encstart []byte) (addr uint32, enc []byte, text string) {
- i := bytes.IndexByte(line, ' ')
- if i < 0 || line[0] != '0' || line[1] != 'x' {
- log.Fatalf("cannot parse disassembly: %q", line)
- }
- j := bytes.IndexByte(line[i+1:], ' ')
- if j < 0 {
- log.Fatalf("cannot parse disassembly: %q", line)
- }
- j += i + 1
- x, err := strconv.ParseUint(string(trimSpace(line[2:i])), 16, 32)
- if err != nil {
- log.Fatalf("cannot parse disassembly: %q", line)
- }
- addr = uint32(x)
- enc, ok := parseHex(line[i+1:j], encstart)
- if !ok {
- log.Fatalf("cannot parse disassembly: %q", line)
- }
- return addr, enc, string(fixSpace(line[j+1:]))
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9x_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9x_test.go
deleted file mode 100644
index f2ea28cd90..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/plan9x_test.go
+++ /dev/null
@@ -1,54 +0,0 @@
-// 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.
-
-package x86asm
-
-import (
- "strings"
- "testing"
-)
-
-func TestPlan932Manual(t *testing.T) { testPlan932(t, hexCases(t, plan9ManualTests)) }
-func TestPlan932Testdata(t *testing.T) { testPlan932(t, concat(basicPrefixes, testdataCases(t))) }
-func TestPlan932ModRM(t *testing.T) { testPlan932(t, concat(basicPrefixes, enumModRM)) }
-func TestPlan932OneByte(t *testing.T) { testBasic(t, testPlan932) }
-func TestPlan9320F(t *testing.T) { testBasic(t, testPlan932, 0x0F) }
-func TestPlan9320F38(t *testing.T) { testBasic(t, testPlan932, 0x0F, 0x38) }
-func TestPlan9320F3A(t *testing.T) { testBasic(t, testPlan932, 0x0F, 0x3A) }
-func TestPlan932Prefix(t *testing.T) { testPrefix(t, testPlan932) }
-
-func TestPlan964Manual(t *testing.T) { testPlan964(t, hexCases(t, plan9ManualTests)) }
-func TestPlan964Testdata(t *testing.T) { testPlan964(t, concat(basicPrefixes, testdataCases(t))) }
-func TestPlan964ModRM(t *testing.T) { testPlan964(t, concat(basicPrefixes, enumModRM)) }
-func TestPlan964OneByte(t *testing.T) { testBasic(t, testPlan964) }
-func TestPlan9640F(t *testing.T) { testBasic(t, testPlan964, 0x0F) }
-func TestPlan9640F38(t *testing.T) { testBasic(t, testPlan964, 0x0F, 0x38) }
-func TestPlan9640F3A(t *testing.T) { testBasic(t, testPlan964, 0x0F, 0x3A) }
-func TestPlan964Prefix(t *testing.T) { testPrefix(t, testPlan964) }
-
-func TestPlan964REXTestdata(t *testing.T) {
- testPlan964(t, filter(concat3(basicPrefixes, rexPrefixes, testdataCases(t)), isValidREX))
-}
-func TestPlan964REXModRM(t *testing.T) { testPlan964(t, concat3(basicPrefixes, rexPrefixes, enumModRM)) }
-func TestPlan964REXOneByte(t *testing.T) { testBasicREX(t, testPlan964) }
-func TestPlan964REX0F(t *testing.T) { testBasicREX(t, testPlan964, 0x0F) }
-func TestPlan964REX0F38(t *testing.T) { testBasicREX(t, testPlan964, 0x0F, 0x38) }
-func TestPlan964REX0F3A(t *testing.T) { testBasicREX(t, testPlan964, 0x0F, 0x3A) }
-func TestPlan964REXPrefix(t *testing.T) { testPrefixREX(t, testPlan964) }
-
-// plan9ManualTests holds test cases that will be run by TestPlan9Manual32 and TestPlan9Manual64.
-// If you are debugging a few cases that turned up in a longer run, it can be useful
-// to list them here and then use -run=Plan9Manual, particularly with tracing enabled.
-var plan9ManualTests = `
-`
-
-// allowedMismatchPlan9 reports whether the mismatch between text and dec
-// should be allowed by the test.
-func allowedMismatchPlan9(text string, size int, inst *Inst, dec ExtInst) bool {
- return false
-}
-
-// Instructions known to us but not to plan9.
-var plan9Unsupported = strings.Fields(`
-`)
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/Makefile b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/Makefile
deleted file mode 100644
index 9cb44127a4..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-libmach8db: libmach8db.c
- 9c libmach8db.c && 9l -o libmach8db libmach8db.o; rm libmach8db.o
-
-newdecode.txt:
- cd ..; go test -cover -run 'Objdump.*32' -v -timeout 10h -printtests 2>&1 | tee log
- cd ..; go test -cover -run 'Objdump.*64' -v -timeout 10h -printtests 2>&1 | tee -a log
- cd ..; go test -cover -run 'Xed.*32' -v -timeout 10h -printtests 2>&1 | tee -a log
- cd ..; go test -cover -run 'Xed.*64' -v -timeout 10h -printtests 2>&1 | tee -a log
- cd ..; go test -cover -run 'Plan9.*32' -v -timeout 10h -printtests 2>&1 | tee -a log
- cd ..; go test -cover -run 'Plan9.*64' -v -timeout 10h -printtests 2>&1 | tee -a log
- egrep ' (gnu|intel|plan9) ' ../log |sort >newdecode.txt
-
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/decode.txt b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/decode.txt
deleted file mode 100644
index 520378916b..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/decode.txt
+++ /dev/null
@@ -1,6771 +0,0 @@
-000511223344|556677885f5f5f5f5f5f 32 intel add byte ptr [0x44332211], al
-000511223344|556677885f5f5f5f5f5f 64 gnu add %al,0x44332211(%rip)
-000511223344|556677885f5f5f5f5f5f 64 intel add byte ptr [rip+0x44332211], al
-0100|11223344556677885f5f5f5f5f5f 32 intel add dword ptr [eax], eax
-0100|11223344556677885f5f5f5f5f5f 32 plan9 ADDL AX, 0(AX)
-0100|11223344556677885f5f5f5f5f5f 64 gnu add %eax,(%rax)
-0100|11223344556677885f5f5f5f5f5f 64 intel add dword ptr [rax], eax
-0100|11223344556677885f5f5f5f5f5f 64 plan9 ADDL AX, 0(AX)
-0211|223344556677885f5f5f5f5f5f5f 32 intel add dl, byte ptr [ecx]
-0211|223344556677885f5f5f5f5f5f5f 32 plan9 ADDB 0(CX), DL
-0211|223344556677885f5f5f5f5f5f5f 64 gnu add (%rcx),%dl
-0211|223344556677885f5f5f5f5f5f5f 64 intel add dl, byte ptr [rcx]
-0211|223344556677885f5f5f5f5f5f5f 64 plan9 ADDB 0(CX), DL
-0311|223344556677885f5f5f5f5f5f5f 32 intel add edx, dword ptr [ecx]
-0311|223344556677885f5f5f5f5f5f5f 32 plan9 ADDL 0(CX), DX
-0311|223344556677885f5f5f5f5f5f5f 64 gnu add (%rcx),%edx
-0311|223344556677885f5f5f5f5f5f5f 64 intel add edx, dword ptr [rcx]
-0311|223344556677885f5f5f5f5f5f5f 64 plan9 ADDL 0(CX), DX
-0411|223344556677885f5f5f5f5f5f5f 32 intel add al, 0x11
-0411|223344556677885f5f5f5f5f5f5f 32 plan9 ADDL $0x11, AL
-0411|223344556677885f5f5f5f5f5f5f 64 gnu add $0x11,%al
-0411|223344556677885f5f5f5f5f5f5f 64 intel add al, 0x11
-0411|223344556677885f5f5f5f5f5f5f 64 plan9 ADDL $0x11, AL
-0511223344|556677885f5f5f5f5f5f5f 32 intel add eax, 0x44332211
-0511223344|556677885f5f5f5f5f5f5f 32 plan9 ADDL $0x44332211, AX
-0511223344|556677885f5f5f5f5f5f5f 64 gnu add $0x44332211,%eax
-0511223344|556677885f5f5f5f5f5f5f 64 intel add eax, 0x44332211
-0511223344|556677885f5f5f5f5f5f5f 64 plan9 ADDL $0x44332211, AX
-06|11223344556677885f5f5f5f5f5f5f 32 intel push es
-06|11223344556677885f5f5f5f5f5f5f 32 plan9 PUSHL ES
-06|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-06|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-06|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-07|11223344556677885f5f5f5f5f5f5f 32 intel pop es
-07|11223344556677885f5f5f5f5f5f5f 32 plan9 POPL ES
-07|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-07|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-07|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0811|223344556677885f5f5f5f5f5f5f 32 intel or byte ptr [ecx], dl
-0811|223344556677885f5f5f5f5f5f5f 32 plan9 ORB DL, 0(CX)
-0811|223344556677885f5f5f5f5f5f5f 64 gnu or %dl,(%rcx)
-0811|223344556677885f5f5f5f5f5f5f 64 intel or byte ptr [rcx], dl
-0811|223344556677885f5f5f5f5f5f5f 64 plan9 ORB DL, 0(CX)
-0911|223344556677885f5f5f5f5f5f5f 32 intel or dword ptr [ecx], edx
-0911|223344556677885f5f5f5f5f5f5f 32 plan9 ORL DX, 0(CX)
-0911|223344556677885f5f5f5f5f5f5f 64 gnu or %edx,(%rcx)
-0911|223344556677885f5f5f5f5f5f5f 64 intel or dword ptr [rcx], edx
-0911|223344556677885f5f5f5f5f5f5f 64 plan9 ORL DX, 0(CX)
-0a11|223344556677885f5f5f5f5f5f5f 32 intel or dl, byte ptr [ecx]
-0a11|223344556677885f5f5f5f5f5f5f 32 plan9 ORB 0(CX), DL
-0a11|223344556677885f5f5f5f5f5f5f 64 gnu or (%rcx),%dl
-0a11|223344556677885f5f5f5f5f5f5f 64 intel or dl, byte ptr [rcx]
-0a11|223344556677885f5f5f5f5f5f5f 64 plan9 ORB 0(CX), DL
-0b11|223344556677885f5f5f5f5f5f5f 32 intel or edx, dword ptr [ecx]
-0b11|223344556677885f5f5f5f5f5f5f 32 plan9 ORL 0(CX), DX
-0b11|223344556677885f5f5f5f5f5f5f 64 gnu or (%rcx),%edx
-0b11|223344556677885f5f5f5f5f5f5f 64 intel or edx, dword ptr [rcx]
-0b11|223344556677885f5f5f5f5f5f5f 64 plan9 ORL 0(CX), DX
-0c11|223344556677885f5f5f5f5f5f5f 32 intel or al, 0x11
-0c11|223344556677885f5f5f5f5f5f5f 32 plan9 ORL $0x11, AL
-0c11|223344556677885f5f5f5f5f5f5f 64 gnu or $0x11,%al
-0c11|223344556677885f5f5f5f5f5f5f 64 intel or al, 0x11
-0c11|223344556677885f5f5f5f5f5f5f 64 plan9 ORL $0x11, AL
-0d11223344|556677885f5f5f5f5f5f5f 32 intel or eax, 0x44332211
-0d11223344|556677885f5f5f5f5f5f5f 32 plan9 ORL $0x44332211, AX
-0d11223344|556677885f5f5f5f5f5f5f 64 gnu or $0x44332211,%eax
-0d11223344|556677885f5f5f5f5f5f5f 64 intel or eax, 0x44332211
-0d11223344|556677885f5f5f5f5f5f5f 64 plan9 ORL $0x44332211, AX
-0e|11223344556677885f5f5f5f5f5f5f 32 intel push cs
-0e|11223344556677885f5f5f5f5f5f5f 32 plan9 PUSHL CS
-0e|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0e|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-0e|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f0000|11223344556677885f5f5f5f5f 32 intel sldt word ptr [eax]
-0f0000|11223344556677885f5f5f5f5f 32 plan9 SLDT 0(AX)
-0f0000|11223344556677885f5f5f5f5f 64 gnu sldt (%rax)
-0f0000|11223344556677885f5f5f5f5f 64 intel sldt word ptr [rax]
-0f0000|11223344556677885f5f5f5f5f 64 plan9 SLDT 0(AX)
-0f0008|11223344556677885f5f5f5f5f 32 intel str word ptr [eax]
-0f0008|11223344556677885f5f5f5f5f 32 plan9 STR 0(AX)
-0f0008|11223344556677885f5f5f5f5f 64 gnu str (%rax)
-0f0008|11223344556677885f5f5f5f5f 64 intel str word ptr [rax]
-0f0008|11223344556677885f5f5f5f5f 64 plan9 STR 0(AX)
-0f0011|223344556677885f5f5f5f5f5f 32 intel lldt word ptr [ecx]
-0f0011|223344556677885f5f5f5f5f5f 32 plan9 LLDT 0(CX)
-0f0011|223344556677885f5f5f5f5f5f 64 gnu lldt (%rcx)
-0f0011|223344556677885f5f5f5f5f5f 64 intel lldt word ptr [rcx]
-0f0011|223344556677885f5f5f5f5f5f 64 plan9 LLDT 0(CX)
-0f0018|11223344556677885f5f5f5f5f 32 intel ltr word ptr [eax]
-0f0018|11223344556677885f5f5f5f5f 32 plan9 LTR 0(AX)
-0f0018|11223344556677885f5f5f5f5f 64 gnu ltr (%rax)
-0f0018|11223344556677885f5f5f5f5f 64 intel ltr word ptr [rax]
-0f0018|11223344556677885f5f5f5f5f 64 plan9 LTR 0(AX)
-0f0020|11223344556677885f5f5f5f5f 32 intel verr word ptr [eax]
-0f0020|11223344556677885f5f5f5f5f 32 plan9 VERR 0(AX)
-0f0020|11223344556677885f5f5f5f5f 64 gnu verr (%rax)
-0f0020|11223344556677885f5f5f5f5f 64 intel verr word ptr [rax]
-0f0020|11223344556677885f5f5f5f5f 64 plan9 VERR 0(AX)
-0f0028|11223344556677885f5f5f5f5f 32 intel verw word ptr [eax]
-0f0028|11223344556677885f5f5f5f5f 32 plan9 VERW 0(AX)
-0f0028|11223344556677885f5f5f5f5f 64 gnu verw (%rax)
-0f0028|11223344556677885f5f5f5f5f 64 intel verw word ptr [rax]
-0f0028|11223344556677885f5f5f5f5f 64 plan9 VERW 0(AX)
-0f0030|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f0030|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f0100|11223344556677885f5f5f5f5f 32 intel sgdt ptr [eax]
-0f0100|11223344556677885f5f5f5f5f 32 plan9 SGDT 0(AX)
-0f0100|11223344556677885f5f5f5f5f 64 gnu sgdtl (%rax)
-0f0100|11223344556677885f5f5f5f5f 64 intel sgdt ptr [rax]
-0f0100|11223344556677885f5f5f5f5f 64 plan9 SGDT 0(AX)
-0f0108|11223344556677885f5f5f5f5f 32 intel sidt ptr [eax]
-0f0108|11223344556677885f5f5f5f5f 32 plan9 SIDT 0(AX)
-0f0108|11223344556677885f5f5f5f5f 64 gnu sidtl (%rax)
-0f0108|11223344556677885f5f5f5f5f 64 intel sidt ptr [rax]
-0f0108|11223344556677885f5f5f5f5f 64 plan9 SIDT 0(AX)
-0f0111|223344556677885f5f5f5f5f5f 32 intel lgdt ptr [ecx]
-0f0111|223344556677885f5f5f5f5f5f 32 plan9 LGDT 0(CX)
-0f0111|223344556677885f5f5f5f5f5f 64 gnu lgdtl (%rcx)
-0f0111|223344556677885f5f5f5f5f5f 64 intel lgdt ptr [rcx]
-0f0111|223344556677885f5f5f5f5f5f 64 plan9 LGDT 0(CX)
-0f0118|11223344556677885f5f5f5f5f 32 intel lidt ptr [eax]
-0f0118|11223344556677885f5f5f5f5f 32 plan9 LIDT 0(AX)
-0f0118|11223344556677885f5f5f5f5f 64 gnu lidtl (%rax)
-0f0118|11223344556677885f5f5f5f5f 64 intel lidt ptr [rax]
-0f0118|11223344556677885f5f5f5f5f 64 plan9 LIDT 0(AX)
-0f0120|11223344556677885f5f5f5f5f 32 intel smsw word ptr [eax]
-0f0120|11223344556677885f5f5f5f5f 32 plan9 SMSW 0(AX)
-0f0120|11223344556677885f5f5f5f5f 64 gnu smsw (%rax)
-0f0120|11223344556677885f5f5f5f5f 64 intel smsw word ptr [rax]
-0f0120|11223344556677885f5f5f5f5f 64 plan9 SMSW 0(AX)
-0f0130|11223344556677885f5f5f5f5f 32 intel lmsw word ptr [eax]
-0f0130|11223344556677885f5f5f5f5f 32 plan9 LMSW 0(AX)
-0f0130|11223344556677885f5f5f5f5f 64 gnu lmsw (%rax)
-0f0130|11223344556677885f5f5f5f5f 64 intel lmsw word ptr [rax]
-0f0130|11223344556677885f5f5f5f5f 64 plan9 LMSW 0(AX)
-0f0138|11223344556677885f5f5f5f5f 32 intel invlpg byte ptr [eax]
-0f0138|11223344556677885f5f5f5f5f 32 plan9 INVLPG 0(AX)
-0f0138|11223344556677885f5f5f5f5f 64 gnu invlpg (%rax)
-0f0138|11223344556677885f5f5f5f5f 64 intel invlpg byte ptr [rax]
-0f0138|11223344556677885f5f5f5f5f 64 plan9 INVLPG 0(AX)
-0f01c8|11223344556677885f5f5f5f5f 32 intel monitor
-0f01c8|11223344556677885f5f5f5f5f 32 plan9 MONITOR
-0f01c8|11223344556677885f5f5f5f5f 64 gnu monitor %eax,%ecx,%edx
-0f01c8|11223344556677885f5f5f5f5f 64 intel monitor
-0f01c8|11223344556677885f5f5f5f5f 64 plan9 MONITOR
-0f01c9|11223344556677885f5f5f5f5f 32 intel mwait
-0f01c9|11223344556677885f5f5f5f5f 32 plan9 MWAIT
-0f01c9|11223344556677885f5f5f5f5f 64 gnu mwait %rax,%rcx
-0f01c9|11223344556677885f5f5f5f5f 64 intel mwait
-0f01c9|11223344556677885f5f5f5f5f 64 plan9 MWAIT
-0f01d0|11223344556677885f5f5f5f5f 32 intel xgetbv
-0f01d0|11223344556677885f5f5f5f5f 32 plan9 XGETBV
-0f01d0|11223344556677885f5f5f5f5f 64 gnu xgetbv
-0f01d0|11223344556677885f5f5f5f5f 64 intel xgetbv
-0f01d0|11223344556677885f5f5f5f5f 64 plan9 XGETBV
-0f01d1|11223344556677885f5f5f5f5f 32 intel xsetbv
-0f01d1|11223344556677885f5f5f5f5f 32 plan9 XSETBV
-0f01d1|11223344556677885f5f5f5f5f 64 gnu xsetbv
-0f01d1|11223344556677885f5f5f5f5f 64 intel xsetbv
-0f01d1|11223344556677885f5f5f5f5f 64 plan9 XSETBV
-0f01d5|11223344556677885f5f5f5f5f 32 intel xend
-0f01d5|11223344556677885f5f5f5f5f 32 plan9 XEND
-0f01d5|11223344556677885f5f5f5f5f 64 gnu xend
-0f01d5|11223344556677885f5f5f5f5f 64 intel xend
-0f01d5|11223344556677885f5f5f5f5f 64 plan9 XEND
-0f01d6|11223344556677885f5f5f5f5f 32 intel xtest
-0f01d6|11223344556677885f5f5f5f5f 32 plan9 XTEST
-0f01d6|11223344556677885f5f5f5f5f 64 gnu xtest
-0f01d6|11223344556677885f5f5f5f5f 64 intel xtest
-0f01d6|11223344556677885f5f5f5f5f 64 plan9 XTEST
-0f01f8|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f01f8|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f01f8|11223344556677885f5f5f5f5f 64 gnu swapgs
-0f01f8|11223344556677885f5f5f5f5f 64 intel swapgs
-0f01f8|11223344556677885f5f5f5f5f 64 plan9 SWAPGS
-0f01f9|11223344556677885f5f5f5f5f 32 intel rdtscp
-0f01f9|11223344556677885f5f5f5f5f 32 plan9 RDTSCP
-0f01f9|11223344556677885f5f5f5f5f 64 gnu rdtscp
-0f01f9|11223344556677885f5f5f5f5f 64 intel rdtscp
-0f01f9|11223344556677885f5f5f5f5f 64 plan9 RDTSCP
-0f0211|223344556677885f5f5f5f5f5f 32 intel lar edx, word ptr [ecx]
-0f0211|223344556677885f5f5f5f5f5f 32 plan9 LAR 0(CX), DX
-0f0211|223344556677885f5f5f5f5f5f 64 gnu lar (%rcx),%edx
-0f0211|223344556677885f5f5f5f5f5f 64 intel lar edx, word ptr [rcx]
-0f0211|223344556677885f5f5f5f5f5f 64 plan9 LAR 0(CX), DX
-0f0311|223344556677885f5f5f5f5f5f 32 intel lsl edx, word ptr [ecx]
-0f0311|223344556677885f5f5f5f5f5f 32 plan9 LSL 0(CX), DX
-0f0311|223344556677885f5f5f5f5f5f 64 gnu lsl (%rcx),%edx
-0f0311|223344556677885f5f5f5f5f5f 64 intel lsl edx, word ptr [rcx]
-0f0311|223344556677885f5f5f5f5f5f 64 plan9 LSL 0(CX), DX
-0f04|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f04|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f04|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f04|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f04|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f05|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f05|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f05|11223344556677885f5f5f5f5f5f 64 gnu syscall
-0f05|11223344556677885f5f5f5f5f5f 64 intel syscall
-0f05|11223344556677885f5f5f5f5f5f 64 plan9 SYSCALL
-0f06|11223344556677885f5f5f5f5f5f 32 intel clts
-0f06|11223344556677885f5f5f5f5f5f 32 plan9 CLTS
-0f06|11223344556677885f5f5f5f5f5f 64 gnu clts
-0f06|11223344556677885f5f5f5f5f5f 64 intel clts
-0f06|11223344556677885f5f5f5f5f5f 64 plan9 CLTS
-0f07|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f07|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f07|11223344556677885f5f5f5f5f5f 64 gnu sysretq
-0f07|11223344556677885f5f5f5f5f5f 64 intel sysret
-0f07|11223344556677885f5f5f5f5f5f 64 plan9 SYSRET
-0f08|11223344556677885f5f5f5f5f5f 32 intel invd
-0f08|11223344556677885f5f5f5f5f5f 32 plan9 INVD
-0f08|11223344556677885f5f5f5f5f5f 64 gnu invd
-0f08|11223344556677885f5f5f5f5f5f 64 intel invd
-0f08|11223344556677885f5f5f5f5f5f 64 plan9 INVD
-0f09|11223344556677885f5f5f5f5f5f 32 intel wbinvd
-0f09|11223344556677885f5f5f5f5f5f 32 plan9 WBINVD
-0f09|11223344556677885f5f5f5f5f5f 64 gnu wbinvd
-0f09|11223344556677885f5f5f5f5f5f 64 intel wbinvd
-0f09|11223344556677885f5f5f5f5f5f 64 plan9 WBINVD
-0f0b|11223344556677885f5f5f5f5f5f 32 intel ud2
-0f0b|11223344556677885f5f5f5f5f5f 32 plan9 UD2
-0f0b|11223344556677885f5f5f5f5f5f 64 gnu ud2
-0f0b|11223344556677885f5f5f5f5f5f 64 intel ud2
-0f0b|11223344556677885f5f5f5f5f5f 64 plan9 UD2
-0f0d08|11223344556677885f5f5f5f5f 32 intel prefetchw zmmword ptr [eax]
-0f0d08|11223344556677885f5f5f5f5f 32 plan9 PREFETCHW 0(AX)
-0f0d08|11223344556677885f5f5f5f5f 64 gnu prefetchw (%rax)
-0f0d08|11223344556677885f5f5f5f5f 64 intel prefetchw zmmword ptr [rax]
-0f0d08|11223344556677885f5f5f5f5f 64 plan9 PREFETCHW 0(AX)
-0f1011|223344556677885f5f5f5f5f5f 32 intel movups xmm2, xmmword ptr [ecx]
-0f1011|223344556677885f5f5f5f5f5f 32 plan9 MOVUPS 0(CX), X2
-0f1011|223344556677885f5f5f5f5f5f 64 gnu movups (%rcx),%xmm2
-0f1011|223344556677885f5f5f5f5f5f 64 intel movups xmm2, xmmword ptr [rcx]
-0f1011|223344556677885f5f5f5f5f5f 64 plan9 MOVUPS 0(CX), X2
-0f1122|3344556677885f5f5f5f5f5f5f 32 intel movups xmmword ptr [edx], xmm4
-0f1122|3344556677885f5f5f5f5f5f5f 32 plan9 MOVUPS X4, 0(DX)
-0f1122|3344556677885f5f5f5f5f5f5f 64 gnu movups %xmm4,(%rdx)
-0f1122|3344556677885f5f5f5f5f5f5f 64 intel movups xmmword ptr [rdx], xmm4
-0f1122|3344556677885f5f5f5f5f5f5f 64 plan9 MOVUPS X4, 0(DX)
-0f1211|223344556677885f5f5f5f5f5f 32 intel movlps xmm2, qword ptr [ecx]
-0f1211|223344556677885f5f5f5f5f5f 32 plan9 MOVLPS 0(CX), X2
-0f1211|223344556677885f5f5f5f5f5f 64 gnu movlps (%rcx),%xmm2
-0f1211|223344556677885f5f5f5f5f5f 64 intel movlps xmm2, qword ptr [rcx]
-0f1211|223344556677885f5f5f5f5f5f 64 plan9 MOVLPS 0(CX), X2
-0f12c0|11223344556677885f5f5f5f5f 32 intel movhlps xmm0, xmm0
-0f12c0|11223344556677885f5f5f5f5f 32 plan9 MOVHLPS X0, X0
-0f12c0|11223344556677885f5f5f5f5f 64 gnu movhlps %xmm0,%xmm0
-0f12c0|11223344556677885f5f5f5f5f 64 intel movhlps xmm0, xmm0
-0f12c0|11223344556677885f5f5f5f5f 64 plan9 MOVHLPS X0, X0
-0f1311|223344556677885f5f5f5f5f5f 32 intel movlps qword ptr [ecx], xmm2
-0f1311|223344556677885f5f5f5f5f5f 32 plan9 MOVLPS X2, 0(CX)
-0f1311|223344556677885f5f5f5f5f5f 64 gnu movlps %xmm2,(%rcx)
-0f1311|223344556677885f5f5f5f5f5f 64 intel movlps qword ptr [rcx], xmm2
-0f1311|223344556677885f5f5f5f5f5f 64 plan9 MOVLPS X2, 0(CX)
-0f1411|223344556677885f5f5f5f5f5f 32 intel unpcklps xmm2, xmmword ptr [ecx]
-0f1411|223344556677885f5f5f5f5f5f 32 plan9 UNPCKLPS 0(CX), X2
-0f1411|223344556677885f5f5f5f5f5f 64 gnu unpcklps (%rcx),%xmm2
-0f1411|223344556677885f5f5f5f5f5f 64 intel unpcklps xmm2, xmmword ptr [rcx]
-0f1411|223344556677885f5f5f5f5f5f 64 plan9 UNPCKLPS 0(CX), X2
-0f1511|223344556677885f5f5f5f5f5f 32 intel unpckhps xmm2, xmmword ptr [ecx]
-0f1511|223344556677885f5f5f5f5f5f 32 plan9 UNPCKHPS 0(CX), X2
-0f1511|223344556677885f5f5f5f5f5f 64 gnu unpckhps (%rcx),%xmm2
-0f1511|223344556677885f5f5f5f5f5f 64 intel unpckhps xmm2, xmmword ptr [rcx]
-0f1511|223344556677885f5f5f5f5f5f 64 plan9 UNPCKHPS 0(CX), X2
-0f1611|223344556677885f5f5f5f5f5f 32 intel movhps xmm2, qword ptr [ecx]
-0f1611|223344556677885f5f5f5f5f5f 32 plan9 MOVHPS 0(CX), X2
-0f1611|223344556677885f5f5f5f5f5f 64 gnu movhps (%rcx),%xmm2
-0f1611|223344556677885f5f5f5f5f5f 64 intel movhps xmm2, qword ptr [rcx]
-0f1611|223344556677885f5f5f5f5f5f 64 plan9 MOVHPS 0(CX), X2
-0f16c0|11223344556677885f5f5f5f5f 32 intel movlhps xmm0, xmm0
-0f16c0|11223344556677885f5f5f5f5f 32 plan9 MOVLHPS X0, X0
-0f16c0|11223344556677885f5f5f5f5f 64 gnu movlhps %xmm0,%xmm0
-0f16c0|11223344556677885f5f5f5f5f 64 intel movlhps xmm0, xmm0
-0f16c0|11223344556677885f5f5f5f5f 64 plan9 MOVLHPS X0, X0
-0f1711|223344556677885f5f5f5f5f5f 32 intel movhps qword ptr [ecx], xmm2
-0f1711|223344556677885f5f5f5f5f5f 32 plan9 MOVHPS X2, 0(CX)
-0f1711|223344556677885f5f5f5f5f5f 64 gnu movhps %xmm2,(%rcx)
-0f1711|223344556677885f5f5f5f5f5f 64 intel movhps qword ptr [rcx], xmm2
-0f1711|223344556677885f5f5f5f5f5f 64 plan9 MOVHPS X2, 0(CX)
-0f1800|11223344556677885f5f5f5f5f 32 intel prefetchnta zmmword ptr [eax]
-0f1800|11223344556677885f5f5f5f5f 32 plan9 PREFETCHNTA 0(AX)
-0f1800|11223344556677885f5f5f5f5f 64 gnu prefetchnta (%rax)
-0f1800|11223344556677885f5f5f5f5f 64 intel prefetchnta zmmword ptr [rax]
-0f1800|11223344556677885f5f5f5f5f 64 plan9 PREFETCHNTA 0(AX)
-0f1808|11223344556677885f5f5f5f5f 32 intel prefetcht0 zmmword ptr [eax]
-0f1808|11223344556677885f5f5f5f5f 32 plan9 PREFETCHT0 0(AX)
-0f1808|11223344556677885f5f5f5f5f 64 gnu prefetcht0 (%rax)
-0f1808|11223344556677885f5f5f5f5f 64 intel prefetcht0 zmmword ptr [rax]
-0f1808|11223344556677885f5f5f5f5f 64 plan9 PREFETCHT0 0(AX)
-0f1811|223344556677885f5f5f5f5f5f 32 intel prefetcht1 zmmword ptr [ecx]
-0f1811|223344556677885f5f5f5f5f5f 32 plan9 PREFETCHT1 0(CX)
-0f1811|223344556677885f5f5f5f5f5f 64 gnu prefetcht1 (%rcx)
-0f1811|223344556677885f5f5f5f5f5f 64 intel prefetcht1 zmmword ptr [rcx]
-0f1811|223344556677885f5f5f5f5f5f 64 plan9 PREFETCHT1 0(CX)
-0f1818|11223344556677885f5f5f5f5f 32 intel prefetcht2 zmmword ptr [eax]
-0f1818|11223344556677885f5f5f5f5f 32 plan9 PREFETCHT2 0(AX)
-0f1818|11223344556677885f5f5f5f5f 64 gnu prefetcht2 (%rax)
-0f1818|11223344556677885f5f5f5f5f 64 intel prefetcht2 zmmword ptr [rax]
-0f1818|11223344556677885f5f5f5f5f 64 plan9 PREFETCHT2 0(AX)
-0f1f00|11223344556677885f5f5f5f5f 32 intel nop dword ptr [eax], eax
-0f1f00|11223344556677885f5f5f5f5f 32 plan9 NOPL 0(AX)
-0f1f00|11223344556677885f5f5f5f5f 64 gnu nopl (%rax)
-0f1f00|11223344556677885f5f5f5f5f 64 intel nop dword ptr [rax], eax
-0f1f00|11223344556677885f5f5f5f5f 64 plan9 NOPL 0(AX)
-0f2011|223344556677885f5f5f5f5f5f 32 intel mov ecx, cr2
-0f2011|223344556677885f5f5f5f5f5f 32 plan9 MOVL CR2, CX
-0f2011|223344556677885f5f5f5f5f5f 64 gnu mov %cr2,%rcx
-0f2011|223344556677885f5f5f5f5f5f 64 intel mov rcx, cr2
-0f2011|223344556677885f5f5f5f5f5f 64 plan9 MOVL CR2, CX
-0f2111|223344556677885f5f5f5f5f5f 32 intel mov ecx, dr2
-0f2111|223344556677885f5f5f5f5f5f 32 plan9 MOVL DR2, CX
-0f2111|223344556677885f5f5f5f5f5f 64 gnu mov %db2,%rcx
-0f2111|223344556677885f5f5f5f5f5f 64 intel mov rcx, dr2
-0f2111|223344556677885f5f5f5f5f5f 64 plan9 MOVL DR2, CX
-0f2211|223344556677885f5f5f5f5f5f 32 intel mov cr2, ecx
-0f2211|223344556677885f5f5f5f5f5f 32 plan9 MOVL CX, CR2
-0f2211|223344556677885f5f5f5f5f5f 64 gnu mov %rcx,%cr2
-0f2211|223344556677885f5f5f5f5f5f 64 intel mov cr2, rcx
-0f2211|223344556677885f5f5f5f5f5f 64 plan9 MOVL CX, CR2
-0f2311|223344556677885f5f5f5f5f5f 32 intel mov dr2, ecx
-0f2311|223344556677885f5f5f5f5f5f 32 plan9 MOVL CX, DR2
-0f2311|223344556677885f5f5f5f5f5f 64 gnu mov %rcx,%db2
-0f2311|223344556677885f5f5f5f5f5f 64 intel mov dr2, rcx
-0f2311|223344556677885f5f5f5f5f5f 64 plan9 MOVL CX, DR2
-0f2411|223344556677885f5f5f5f5f5f 32 intel mov ecx, tr2
-0f2411|223344556677885f5f5f5f5f5f 32 plan9 MOVL TR2, CX
-0f2411|223344556677885f5f5f5f5f5f 64 gnu mov %tr2,%rcx
-0f2411|223344556677885f5f5f5f5f5f 64 intel mov rcx, tr2
-0f2411|223344556677885f5f5f5f5f5f 64 plan9 MOVL TR2, CX
-0f2611|223344556677885f5f5f5f5f5f 32 intel mov tr2, ecx
-0f2611|223344556677885f5f5f5f5f5f 32 plan9 MOVL CX, TR2
-0f2611|223344556677885f5f5f5f5f5f 64 gnu mov %rcx,%tr2
-0f2611|223344556677885f5f5f5f5f5f 64 intel mov tr2, rcx
-0f2611|223344556677885f5f5f5f5f5f 64 plan9 MOVL CX, TR2
-0f2811|223344556677885f5f5f5f5f5f 32 intel movaps xmm2, xmmword ptr [ecx]
-0f2811|223344556677885f5f5f5f5f5f 32 plan9 MOVAPS 0(CX), X2
-0f2811|223344556677885f5f5f5f5f5f 64 gnu movaps (%rcx),%xmm2
-0f2811|223344556677885f5f5f5f5f5f 64 intel movaps xmm2, xmmword ptr [rcx]
-0f2811|223344556677885f5f5f5f5f5f 64 plan9 MOVAPS 0(CX), X2
-0f2911|223344556677885f5f5f5f5f5f 32 intel movaps xmmword ptr [ecx], xmm2
-0f2911|223344556677885f5f5f5f5f5f 32 plan9 MOVAPS X2, 0(CX)
-0f2911|223344556677885f5f5f5f5f5f 64 gnu movaps %xmm2,(%rcx)
-0f2911|223344556677885f5f5f5f5f5f 64 intel movaps xmmword ptr [rcx], xmm2
-0f2911|223344556677885f5f5f5f5f5f 64 plan9 MOVAPS X2, 0(CX)
-0f2a11|223344556677885f5f5f5f5f5f 32 intel cvtpi2ps xmm2, qword ptr [ecx]
-0f2a11|223344556677885f5f5f5f5f5f 32 plan9 CVTPI2PS 0(CX), X2
-0f2a11|223344556677885f5f5f5f5f5f 64 gnu cvtpi2ps (%rcx),%xmm2
-0f2a11|223344556677885f5f5f5f5f5f 64 intel cvtpi2ps xmm2, qword ptr [rcx]
-0f2a11|223344556677885f5f5f5f5f5f 64 plan9 CVTPI2PS 0(CX), X2
-0f2b11|223344556677885f5f5f5f5f5f 32 intel movntps xmmword ptr [ecx], xmm2
-0f2b11|223344556677885f5f5f5f5f5f 32 plan9 MOVNTPS X2, 0(CX)
-0f2b11|223344556677885f5f5f5f5f5f 64 gnu movntps %xmm2,(%rcx)
-0f2b11|223344556677885f5f5f5f5f5f 64 intel movntps xmmword ptr [rcx], xmm2
-0f2b11|223344556677885f5f5f5f5f5f 64 plan9 MOVNTPS X2, 0(CX)
-0f2c11|223344556677885f5f5f5f5f5f 32 intel cvttps2pi mmx2, qword ptr [ecx]
-0f2c11|223344556677885f5f5f5f5f5f 32 plan9 CVTTPS2PI 0(CX), M2
-0f2c11|223344556677885f5f5f5f5f5f 64 gnu cvttps2pi (%rcx),%mm2
-0f2c11|223344556677885f5f5f5f5f5f 64 intel cvttps2pi mmx2, qword ptr [rcx]
-0f2c11|223344556677885f5f5f5f5f5f 64 plan9 CVTTPS2PI 0(CX), M2
-0f2d11|223344556677885f5f5f5f5f5f 32 intel cvtps2pi mmx2, qword ptr [ecx]
-0f2d11|223344556677885f5f5f5f5f5f 32 plan9 CVTPS2PI 0(CX), M2
-0f2d11|223344556677885f5f5f5f5f5f 64 gnu cvtps2pi (%rcx),%mm2
-0f2d11|223344556677885f5f5f5f5f5f 64 intel cvtps2pi mmx2, qword ptr [rcx]
-0f2d11|223344556677885f5f5f5f5f5f 64 plan9 CVTPS2PI 0(CX), M2
-0f2e11|223344556677885f5f5f5f5f5f 32 intel ucomiss xmm2, dword ptr [ecx]
-0f2e11|223344556677885f5f5f5f5f5f 32 plan9 UCOMISS 0(CX), X2
-0f2e11|223344556677885f5f5f5f5f5f 64 gnu ucomiss (%rcx),%xmm2
-0f2e11|223344556677885f5f5f5f5f5f 64 intel ucomiss xmm2, dword ptr [rcx]
-0f2e11|223344556677885f5f5f5f5f5f 64 plan9 UCOMISS 0(CX), X2
-0f2f11|223344556677885f5f5f5f5f5f 32 intel comiss xmm2, dword ptr [ecx]
-0f2f11|223344556677885f5f5f5f5f5f 32 plan9 COMISS 0(CX), X2
-0f2f11|223344556677885f5f5f5f5f5f 64 gnu comiss (%rcx),%xmm2
-0f2f11|223344556677885f5f5f5f5f5f 64 intel comiss xmm2, dword ptr [rcx]
-0f2f11|223344556677885f5f5f5f5f5f 64 plan9 COMISS 0(CX), X2
-0f30|11223344556677885f5f5f5f5f5f 32 intel wrmsr
-0f30|11223344556677885f5f5f5f5f5f 32 plan9 WRMSR
-0f30|11223344556677885f5f5f5f5f5f 64 gnu wrmsr
-0f30|11223344556677885f5f5f5f5f5f 64 intel wrmsr
-0f30|11223344556677885f5f5f5f5f5f 64 plan9 WRMSR
-0f31|11223344556677885f5f5f5f5f5f 32 intel rdtsc
-0f31|11223344556677885f5f5f5f5f5f 32 plan9 RDTSC
-0f31|11223344556677885f5f5f5f5f5f 64 gnu rdtsc
-0f31|11223344556677885f5f5f5f5f5f 64 intel rdtsc
-0f31|11223344556677885f5f5f5f5f5f 64 plan9 RDTSC
-0f32|11223344556677885f5f5f5f5f5f 32 intel rdmsr
-0f32|11223344556677885f5f5f5f5f5f 32 plan9 RDMSR
-0f32|11223344556677885f5f5f5f5f5f 64 gnu rdmsr
-0f32|11223344556677885f5f5f5f5f5f 64 intel rdmsr
-0f32|11223344556677885f5f5f5f5f5f 64 plan9 RDMSR
-0f33|11223344556677885f5f5f5f5f5f 32 intel rdpmc
-0f33|11223344556677885f5f5f5f5f5f 32 plan9 RDPMC
-0f33|11223344556677885f5f5f5f5f5f 64 gnu rdpmc
-0f33|11223344556677885f5f5f5f5f5f 64 intel rdpmc
-0f33|11223344556677885f5f5f5f5f5f 64 plan9 RDPMC
-0f34|11223344556677885f5f5f5f5f5f 32 intel sysenter
-0f34|11223344556677885f5f5f5f5f5f 32 plan9 SYSENTER
-0f34|11223344556677885f5f5f5f5f5f 64 gnu sysenter
-0f34|11223344556677885f5f5f5f5f5f 64 intel sysenter
-0f34|11223344556677885f5f5f5f5f5f 64 plan9 SYSENTER
-0f35|11223344556677885f5f5f5f5f5f 32 intel sysexit
-0f35|11223344556677885f5f5f5f5f5f 32 plan9 SYSEXIT
-0f35|11223344556677885f5f5f5f5f5f 64 gnu sysexit
-0f35|11223344556677885f5f5f5f5f5f 64 intel sysexit
-0f35|11223344556677885f5f5f5f5f5f 64 plan9 SYSEXIT
-0f380011|223344556677885f5f5f5f5f 32 intel pshufb mmx2, qword ptr [ecx]
-0f380011|223344556677885f5f5f5f5f 32 plan9 PSHUFB 0(CX), M2
-0f380011|223344556677885f5f5f5f5f 64 gnu pshufb (%rcx),%mm2
-0f380011|223344556677885f5f5f5f5f 64 intel pshufb mmx2, qword ptr [rcx]
-0f380011|223344556677885f5f5f5f5f 64 plan9 PSHUFB 0(CX), M2
-0f380111|223344556677885f5f5f5f5f 32 intel phaddw mmx2, qword ptr [ecx]
-0f380111|223344556677885f5f5f5f5f 32 plan9 PHADDW 0(CX), M2
-0f380111|223344556677885f5f5f5f5f 64 gnu phaddw (%rcx),%mm2
-0f380111|223344556677885f5f5f5f5f 64 intel phaddw mmx2, qword ptr [rcx]
-0f380111|223344556677885f5f5f5f5f 64 plan9 PHADDW 0(CX), M2
-0f380211|223344556677885f5f5f5f5f 32 intel phaddd mmx2, qword ptr [ecx]
-0f380211|223344556677885f5f5f5f5f 32 plan9 PHADDD 0(CX), M2
-0f380211|223344556677885f5f5f5f5f 64 gnu phaddd (%rcx),%mm2
-0f380211|223344556677885f5f5f5f5f 64 intel phaddd mmx2, qword ptr [rcx]
-0f380211|223344556677885f5f5f5f5f 64 plan9 PHADDD 0(CX), M2
-0f380311|223344556677885f5f5f5f5f 32 intel phaddsw mmx2, qword ptr [ecx]
-0f380311|223344556677885f5f5f5f5f 32 plan9 PHADDSW 0(CX), M2
-0f380311|223344556677885f5f5f5f5f 64 gnu phaddsw (%rcx),%mm2
-0f380311|223344556677885f5f5f5f5f 64 intel phaddsw mmx2, qword ptr [rcx]
-0f380311|223344556677885f5f5f5f5f 64 plan9 PHADDSW 0(CX), M2
-0f380411|223344556677885f5f5f5f5f 32 intel pmaddubsw mmx2, qword ptr [ecx]
-0f380411|223344556677885f5f5f5f5f 32 plan9 PMADDUBSW 0(CX), M2
-0f380411|223344556677885f5f5f5f5f 64 gnu pmaddubsw (%rcx),%mm2
-0f380411|223344556677885f5f5f5f5f 64 intel pmaddubsw mmx2, qword ptr [rcx]
-0f380411|223344556677885f5f5f5f5f 64 plan9 PMADDUBSW 0(CX), M2
-0f380511|223344556677885f5f5f5f5f 32 intel phsubw mmx2, qword ptr [ecx]
-0f380511|223344556677885f5f5f5f5f 32 plan9 PHSUBW 0(CX), M2
-0f380511|223344556677885f5f5f5f5f 64 gnu phsubw (%rcx),%mm2
-0f380511|223344556677885f5f5f5f5f 64 intel phsubw mmx2, qword ptr [rcx]
-0f380511|223344556677885f5f5f5f5f 64 plan9 PHSUBW 0(CX), M2
-0f380611|223344556677885f5f5f5f5f 32 intel phsubd mmx2, qword ptr [ecx]
-0f380611|223344556677885f5f5f5f5f 32 plan9 PHSUBD 0(CX), M2
-0f380611|223344556677885f5f5f5f5f 64 gnu phsubd (%rcx),%mm2
-0f380611|223344556677885f5f5f5f5f 64 intel phsubd mmx2, qword ptr [rcx]
-0f380611|223344556677885f5f5f5f5f 64 plan9 PHSUBD 0(CX), M2
-0f380711|223344556677885f5f5f5f5f 32 intel phsubsw mmx2, qword ptr [ecx]
-0f380711|223344556677885f5f5f5f5f 32 plan9 PHSUBSW 0(CX), M2
-0f380711|223344556677885f5f5f5f5f 64 gnu phsubsw (%rcx),%mm2
-0f380711|223344556677885f5f5f5f5f 64 intel phsubsw mmx2, qword ptr [rcx]
-0f380711|223344556677885f5f5f5f5f 64 plan9 PHSUBSW 0(CX), M2
-0f380811|223344556677885f5f5f5f5f 32 intel psignb mmx2, qword ptr [ecx]
-0f380811|223344556677885f5f5f5f5f 32 plan9 PSIGNB 0(CX), M2
-0f380811|223344556677885f5f5f5f5f 64 gnu psignb (%rcx),%mm2
-0f380811|223344556677885f5f5f5f5f 64 intel psignb mmx2, qword ptr [rcx]
-0f380811|223344556677885f5f5f5f5f 64 plan9 PSIGNB 0(CX), M2
-0f380911|223344556677885f5f5f5f5f 32 intel psignw mmx2, qword ptr [ecx]
-0f380911|223344556677885f5f5f5f5f 32 plan9 PSIGNW 0(CX), M2
-0f380911|223344556677885f5f5f5f5f 64 gnu psignw (%rcx),%mm2
-0f380911|223344556677885f5f5f5f5f 64 intel psignw mmx2, qword ptr [rcx]
-0f380911|223344556677885f5f5f5f5f 64 plan9 PSIGNW 0(CX), M2
-0f380a11|223344556677885f5f5f5f5f 32 intel psignd mmx2, qword ptr [ecx]
-0f380a11|223344556677885f5f5f5f5f 32 plan9 PSIGND 0(CX), M2
-0f380a11|223344556677885f5f5f5f5f 64 gnu psignd (%rcx),%mm2
-0f380a11|223344556677885f5f5f5f5f 64 intel psignd mmx2, qword ptr [rcx]
-0f380a11|223344556677885f5f5f5f5f 64 plan9 PSIGND 0(CX), M2
-0f380b11|223344556677885f5f5f5f5f 32 intel pmulhrsw mmx2, qword ptr [ecx]
-0f380b11|223344556677885f5f5f5f5f 32 plan9 PMULHRSW 0(CX), M2
-0f380b11|223344556677885f5f5f5f5f 64 gnu pmulhrsw (%rcx),%mm2
-0f380b11|223344556677885f5f5f5f5f 64 intel pmulhrsw mmx2, qword ptr [rcx]
-0f380b11|223344556677885f5f5f5f5f 64 plan9 PMULHRSW 0(CX), M2
-0f3810|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3810|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3810|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3810|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3810|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3811|223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f3811|223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3811|223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3811|223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f3811|223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3814|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3814|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3814|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3814|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3814|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3815|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3815|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3815|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3815|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3815|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3817|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3817|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3817|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3817|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3817|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f381c11|223344556677885f5f5f5f5f 32 intel pabsb mmx2, qword ptr [ecx]
-0f381c11|223344556677885f5f5f5f5f 32 plan9 PABSB 0(CX), M2
-0f381c11|223344556677885f5f5f5f5f 64 gnu pabsb (%rcx),%mm2
-0f381c11|223344556677885f5f5f5f5f 64 intel pabsb mmx2, qword ptr [rcx]
-0f381c11|223344556677885f5f5f5f5f 64 plan9 PABSB 0(CX), M2
-0f381d11|223344556677885f5f5f5f5f 32 intel pabsw mmx2, qword ptr [ecx]
-0f381d11|223344556677885f5f5f5f5f 32 plan9 PABSW 0(CX), M2
-0f381d11|223344556677885f5f5f5f5f 64 gnu pabsw (%rcx),%mm2
-0f381d11|223344556677885f5f5f5f5f 64 intel pabsw mmx2, qword ptr [rcx]
-0f381d11|223344556677885f5f5f5f5f 64 plan9 PABSW 0(CX), M2
-0f381e11|223344556677885f5f5f5f5f 32 intel pabsd mmx2, qword ptr [ecx]
-0f381e11|223344556677885f5f5f5f5f 32 plan9 PABSD 0(CX), M2
-0f381e11|223344556677885f5f5f5f5f 64 gnu pabsd (%rcx),%mm2
-0f381e11|223344556677885f5f5f5f5f 64 intel pabsd mmx2, qword ptr [rcx]
-0f381e11|223344556677885f5f5f5f5f 64 plan9 PABSD 0(CX), M2
-0f3820|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3820|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3820|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3820|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3820|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3821|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3821|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3821|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3821|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3821|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3822|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3822|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3822|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3822|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3822|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3823|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3823|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3823|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3823|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3823|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3824|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3824|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3824|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3824|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3824|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3825|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3825|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3825|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3825|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3825|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3828|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3828|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3828|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3828|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3828|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3829|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3829|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3829|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3829|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3829|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f382a|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f382a|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f382a|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f382a|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f382a|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f382b|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f382b|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f382b|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f382b|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f382b|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3830|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3830|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3830|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3830|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3830|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3831|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3831|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3831|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3831|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3831|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3832|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3832|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3832|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3832|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3832|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3833|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3833|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3833|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3833|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3833|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3834|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3834|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3834|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3834|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3834|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3835|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3835|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3835|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3835|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3835|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3837|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3837|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3837|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3837|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3837|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3838|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3838|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3838|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3838|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3838|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3839|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3839|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3839|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3839|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3839|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f383a|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f383a|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f383a|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f383a|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f383a|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f383b|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f383b|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f383b|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f383b|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f383b|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f383c|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f383c|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f383c|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f383c|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f383c|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f383d|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f383d|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f383d|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f383d|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f383d|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f383e|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f383e|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f383e|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f383e|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f383e|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f383f|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f383f|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f383f|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f383f|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f383f|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3840|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3840|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3840|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3840|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3840|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3841|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3841|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3841|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3841|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3841|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3882|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3882|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3882|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3882|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3882|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f38db|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f38db|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f38db|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f38db|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f38db|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f38dc|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f38dc|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f38dc|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f38dc|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f38dc|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f38dd|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f38dd|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f38dd|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f38dd|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f38dd|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f38de|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f38de|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f38de|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f38de|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f38de|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f38df|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f38df|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f38df|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f38df|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f38df|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f38f011|223344556677885f5f5f5f5f 32 intel movbe edx, dword ptr [ecx]
-0f38f011|223344556677885f5f5f5f5f 32 plan9 MOVBE 0(CX), DX
-0f38f011|223344556677885f5f5f5f5f 64 gnu movbe (%rcx),%edx
-0f38f011|223344556677885f5f5f5f5f 64 intel movbe edx, dword ptr [rcx]
-0f38f011|223344556677885f5f5f5f5f 64 plan9 MOVBE 0(CX), DX
-0f38f111|223344556677885f5f5f5f5f 32 intel movbe dword ptr [ecx], edx
-0f38f111|223344556677885f5f5f5f5f 32 plan9 MOVBE DX, 0(CX)
-0f38f111|223344556677885f5f5f5f5f 64 gnu movbe %edx,(%rcx)
-0f38f111|223344556677885f5f5f5f5f 64 intel movbe dword ptr [rcx], edx
-0f38f111|223344556677885f5f5f5f5f 64 plan9 MOVBE DX, 0(CX)
-0f3a08|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a08|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a08|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a08|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a08|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a09|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a09|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a09|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a09|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a09|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a0a|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a0a|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a0a|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a0a|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a0a|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a0b|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a0b|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a0b|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a0b|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a0b|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a0c|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a0c|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a0c|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a0c|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a0c|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a0d|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a0d|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a0d|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a0d|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a0d|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a0e|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a0e|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a0e|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a0e|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a0e|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a0f1122|3344556677885f5f5f5f5f 32 intel palignr mmx2, qword ptr [ecx], 0x22
-0f3a0f1122|3344556677885f5f5f5f5f 32 plan9 PALIGNR $0x22, 0(CX), M2
-0f3a0f1122|3344556677885f5f5f5f5f 64 gnu palignr $0x22,(%rcx),%mm2
-0f3a0f1122|3344556677885f5f5f5f5f 64 intel palignr mmx2, qword ptr [rcx], 0x22
-0f3a0f1122|3344556677885f5f5f5f5f 64 plan9 PALIGNR $0x22, 0(CX), M2
-0f3a11|223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a11|223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a11|223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a11|223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a11|223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a14|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a14|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a14|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a14|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a14|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a15|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a15|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a15|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a15|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a15|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a16|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a16|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a16|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a16|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a16|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a17|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a17|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a17|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a17|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a17|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a20|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a20|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a20|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a20|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a20|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a21|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a21|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a21|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a21|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a21|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a22|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a22|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a22|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a22|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a22|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a40|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a40|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a40|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a40|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a40|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a41|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a41|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a41|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a41|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a41|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a42|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a42|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a42|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a42|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a42|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a44|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a44|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a44|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a44|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a44|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a60|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a60|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a60|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a60|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a60|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a61|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a61|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a61|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a61|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a61|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a62|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a62|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a62|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a62|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a62|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3a63|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3a63|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3a63|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3a63|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3a63|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f3adf|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f3adf|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f3adf|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f3adf|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f3adf|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f4011|223344556677885f5f5f5f5f5f 32 intel cmovo edx, dword ptr [ecx]
-0f4011|223344556677885f5f5f5f5f5f 32 plan9 CMOVO 0(CX), DX
-0f4011|223344556677885f5f5f5f5f5f 64 gnu cmovo (%rcx),%edx
-0f4011|223344556677885f5f5f5f5f5f 64 intel cmovo edx, dword ptr [rcx]
-0f4011|223344556677885f5f5f5f5f5f 64 plan9 CMOVO 0(CX), DX
-0f4111|223344556677885f5f5f5f5f5f 32 intel cmovno edx, dword ptr [ecx]
-0f4111|223344556677885f5f5f5f5f5f 32 plan9 CMOVNO 0(CX), DX
-0f4111|223344556677885f5f5f5f5f5f 64 gnu cmovno (%rcx),%edx
-0f4111|223344556677885f5f5f5f5f5f 64 intel cmovno edx, dword ptr [rcx]
-0f4111|223344556677885f5f5f5f5f5f 64 plan9 CMOVNO 0(CX), DX
-0f4211|223344556677885f5f5f5f5f5f 32 intel cmovb edx, dword ptr [ecx]
-0f4211|223344556677885f5f5f5f5f5f 32 plan9 CMOVB 0(CX), DX
-0f4211|223344556677885f5f5f5f5f5f 64 gnu cmovb (%rcx),%edx
-0f4211|223344556677885f5f5f5f5f5f 64 intel cmovb edx, dword ptr [rcx]
-0f4211|223344556677885f5f5f5f5f5f 64 plan9 CMOVB 0(CX), DX
-0f4311|223344556677885f5f5f5f5f5f 32 intel cmovnb edx, dword ptr [ecx]
-0f4311|223344556677885f5f5f5f5f5f 32 plan9 CMOVAE 0(CX), DX
-0f4311|223344556677885f5f5f5f5f5f 64 gnu cmovae (%rcx),%edx
-0f4311|223344556677885f5f5f5f5f5f 64 intel cmovnb edx, dword ptr [rcx]
-0f4311|223344556677885f5f5f5f5f5f 64 plan9 CMOVAE 0(CX), DX
-0f4411|223344556677885f5f5f5f5f5f 32 intel cmovz edx, dword ptr [ecx]
-0f4411|223344556677885f5f5f5f5f5f 32 plan9 CMOVE 0(CX), DX
-0f4411|223344556677885f5f5f5f5f5f 64 gnu cmove (%rcx),%edx
-0f4411|223344556677885f5f5f5f5f5f 64 intel cmovz edx, dword ptr [rcx]
-0f4411|223344556677885f5f5f5f5f5f 64 plan9 CMOVE 0(CX), DX
-0f4511|223344556677885f5f5f5f5f5f 32 intel cmovnz edx, dword ptr [ecx]
-0f4511|223344556677885f5f5f5f5f5f 32 plan9 CMOVNE 0(CX), DX
-0f4511|223344556677885f5f5f5f5f5f 64 gnu cmovne (%rcx),%edx
-0f4511|223344556677885f5f5f5f5f5f 64 intel cmovnz edx, dword ptr [rcx]
-0f4511|223344556677885f5f5f5f5f5f 64 plan9 CMOVNE 0(CX), DX
-0f4611|223344556677885f5f5f5f5f5f 32 intel cmovbe edx, dword ptr [ecx]
-0f4611|223344556677885f5f5f5f5f5f 32 plan9 CMOVBE 0(CX), DX
-0f4611|223344556677885f5f5f5f5f5f 64 gnu cmovbe (%rcx),%edx
-0f4611|223344556677885f5f5f5f5f5f 64 intel cmovbe edx, dword ptr [rcx]
-0f4611|223344556677885f5f5f5f5f5f 64 plan9 CMOVBE 0(CX), DX
-0f4711|223344556677885f5f5f5f5f5f 32 intel cmovnbe edx, dword ptr [ecx]
-0f4711|223344556677885f5f5f5f5f5f 32 plan9 CMOVA 0(CX), DX
-0f4711|223344556677885f5f5f5f5f5f 64 gnu cmova (%rcx),%edx
-0f4711|223344556677885f5f5f5f5f5f 64 intel cmovnbe edx, dword ptr [rcx]
-0f4711|223344556677885f5f5f5f5f5f 64 plan9 CMOVA 0(CX), DX
-0f4811|223344556677885f5f5f5f5f5f 32 intel cmovs edx, dword ptr [ecx]
-0f4811|223344556677885f5f5f5f5f5f 32 plan9 CMOVS 0(CX), DX
-0f4811|223344556677885f5f5f5f5f5f 64 gnu cmovs (%rcx),%edx
-0f4811|223344556677885f5f5f5f5f5f 64 intel cmovs edx, dword ptr [rcx]
-0f4811|223344556677885f5f5f5f5f5f 64 plan9 CMOVS 0(CX), DX
-0f4911|223344556677885f5f5f5f5f5f 32 intel cmovns edx, dword ptr [ecx]
-0f4911|223344556677885f5f5f5f5f5f 32 plan9 CMOVNS 0(CX), DX
-0f4911|223344556677885f5f5f5f5f5f 64 gnu cmovns (%rcx),%edx
-0f4911|223344556677885f5f5f5f5f5f 64 intel cmovns edx, dword ptr [rcx]
-0f4911|223344556677885f5f5f5f5f5f 64 plan9 CMOVNS 0(CX), DX
-0f4a11|223344556677885f5f5f5f5f5f 32 intel cmovp edx, dword ptr [ecx]
-0f4a11|223344556677885f5f5f5f5f5f 32 plan9 CMOVP 0(CX), DX
-0f4a11|223344556677885f5f5f5f5f5f 64 gnu cmovp (%rcx),%edx
-0f4a11|223344556677885f5f5f5f5f5f 64 intel cmovp edx, dword ptr [rcx]
-0f4a11|223344556677885f5f5f5f5f5f 64 plan9 CMOVP 0(CX), DX
-0f4b11|223344556677885f5f5f5f5f5f 32 intel cmovnp edx, dword ptr [ecx]
-0f4b11|223344556677885f5f5f5f5f5f 32 plan9 CMOVNP 0(CX), DX
-0f4b11|223344556677885f5f5f5f5f5f 64 gnu cmovnp (%rcx),%edx
-0f4b11|223344556677885f5f5f5f5f5f 64 intel cmovnp edx, dword ptr [rcx]
-0f4b11|223344556677885f5f5f5f5f5f 64 plan9 CMOVNP 0(CX), DX
-0f4c11|223344556677885f5f5f5f5f5f 32 intel cmovl edx, dword ptr [ecx]
-0f4c11|223344556677885f5f5f5f5f5f 32 plan9 CMOVL 0(CX), DX
-0f4c11|223344556677885f5f5f5f5f5f 64 gnu cmovl (%rcx),%edx
-0f4c11|223344556677885f5f5f5f5f5f 64 intel cmovl edx, dword ptr [rcx]
-0f4c11|223344556677885f5f5f5f5f5f 64 plan9 CMOVL 0(CX), DX
-0f4d11|223344556677885f5f5f5f5f5f 32 intel cmovnl edx, dword ptr [ecx]
-0f4d11|223344556677885f5f5f5f5f5f 32 plan9 CMOVGE 0(CX), DX
-0f4d11|223344556677885f5f5f5f5f5f 64 gnu cmovge (%rcx),%edx
-0f4d11|223344556677885f5f5f5f5f5f 64 intel cmovnl edx, dword ptr [rcx]
-0f4d11|223344556677885f5f5f5f5f5f 64 plan9 CMOVGE 0(CX), DX
-0f4e11|223344556677885f5f5f5f5f5f 32 intel cmovle edx, dword ptr [ecx]
-0f4e11|223344556677885f5f5f5f5f5f 32 plan9 CMOVLE 0(CX), DX
-0f4e11|223344556677885f5f5f5f5f5f 64 gnu cmovle (%rcx),%edx
-0f4e11|223344556677885f5f5f5f5f5f 64 intel cmovle edx, dword ptr [rcx]
-0f4e11|223344556677885f5f5f5f5f5f 64 plan9 CMOVLE 0(CX), DX
-0f4f11|223344556677885f5f5f5f5f5f 32 intel cmovnle edx, dword ptr [ecx]
-0f4f11|223344556677885f5f5f5f5f5f 32 plan9 CMOVG 0(CX), DX
-0f4f11|223344556677885f5f5f5f5f5f 64 gnu cmovg (%rcx),%edx
-0f4f11|223344556677885f5f5f5f5f5f 64 intel cmovnle edx, dword ptr [rcx]
-0f4f11|223344556677885f5f5f5f5f5f 64 plan9 CMOVG 0(CX), DX
-0f5011|223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f5011|223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f5011|223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f5011|223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f5011|223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f50c0|11223344556677885f5f5f5f5f 32 intel movmskps eax, xmm0
-0f50c0|11223344556677885f5f5f5f5f 32 plan9 MOVMSKPS X0, AX
-0f50c0|11223344556677885f5f5f5f5f 64 gnu movmskps %xmm0,%eax
-0f50c0|11223344556677885f5f5f5f5f 64 intel movmskps eax, xmm0
-0f50c0|11223344556677885f5f5f5f5f 64 plan9 MOVMSKPS X0, AX
-0f5111|223344556677885f5f5f5f5f5f 32 intel sqrtps xmm2, xmmword ptr [ecx]
-0f5111|223344556677885f5f5f5f5f5f 32 plan9 SQRTPS 0(CX), X2
-0f5111|223344556677885f5f5f5f5f5f 64 gnu sqrtps (%rcx),%xmm2
-0f5111|223344556677885f5f5f5f5f5f 64 intel sqrtps xmm2, xmmword ptr [rcx]
-0f5111|223344556677885f5f5f5f5f5f 64 plan9 SQRTPS 0(CX), X2
-0f5211|223344556677885f5f5f5f5f5f 32 intel rsqrtps xmm2, xmmword ptr [ecx]
-0f5211|223344556677885f5f5f5f5f5f 32 plan9 RSQRTPS 0(CX), X2
-0f5211|223344556677885f5f5f5f5f5f 64 gnu rsqrtps (%rcx),%xmm2
-0f5211|223344556677885f5f5f5f5f5f 64 intel rsqrtps xmm2, xmmword ptr [rcx]
-0f5211|223344556677885f5f5f5f5f5f 64 plan9 RSQRTPS 0(CX), X2
-0f5311|223344556677885f5f5f5f5f5f 32 intel rcpps xmm2, xmmword ptr [ecx]
-0f5311|223344556677885f5f5f5f5f5f 32 plan9 RCPPS 0(CX), X2
-0f5311|223344556677885f5f5f5f5f5f 64 gnu rcpps (%rcx),%xmm2
-0f5311|223344556677885f5f5f5f5f5f 64 intel rcpps xmm2, xmmword ptr [rcx]
-0f5311|223344556677885f5f5f5f5f5f 64 plan9 RCPPS 0(CX), X2
-0f5411|223344556677885f5f5f5f5f5f 32 intel andps xmm2, xmmword ptr [ecx]
-0f5411|223344556677885f5f5f5f5f5f 32 plan9 ANDPS 0(CX), X2
-0f5411|223344556677885f5f5f5f5f5f 64 gnu andps (%rcx),%xmm2
-0f5411|223344556677885f5f5f5f5f5f 64 intel andps xmm2, xmmword ptr [rcx]
-0f5411|223344556677885f5f5f5f5f5f 64 plan9 ANDPS 0(CX), X2
-0f5511|223344556677885f5f5f5f5f5f 32 intel andnps xmm2, xmmword ptr [ecx]
-0f5511|223344556677885f5f5f5f5f5f 32 plan9 ANDNPS 0(CX), X2
-0f5511|223344556677885f5f5f5f5f5f 64 gnu andnps (%rcx),%xmm2
-0f5511|223344556677885f5f5f5f5f5f 64 intel andnps xmm2, xmmword ptr [rcx]
-0f5511|223344556677885f5f5f5f5f5f 64 plan9 ANDNPS 0(CX), X2
-0f5611|223344556677885f5f5f5f5f5f 32 intel orps xmm2, xmmword ptr [ecx]
-0f5611|223344556677885f5f5f5f5f5f 32 plan9 ORPS 0(CX), X2
-0f5611|223344556677885f5f5f5f5f5f 64 gnu orps (%rcx),%xmm2
-0f5611|223344556677885f5f5f5f5f5f 64 intel orps xmm2, xmmword ptr [rcx]
-0f5611|223344556677885f5f5f5f5f5f 64 plan9 ORPS 0(CX), X2
-0f5711|223344556677885f5f5f5f5f5f 32 intel xorps xmm2, xmmword ptr [ecx]
-0f5711|223344556677885f5f5f5f5f5f 32 plan9 XORPS 0(CX), X2
-0f5711|223344556677885f5f5f5f5f5f 64 gnu xorps (%rcx),%xmm2
-0f5711|223344556677885f5f5f5f5f5f 64 intel xorps xmm2, xmmword ptr [rcx]
-0f5711|223344556677885f5f5f5f5f5f 64 plan9 XORPS 0(CX), X2
-0f5811|223344556677885f5f5f5f5f5f 32 intel addps xmm2, xmmword ptr [ecx]
-0f5811|223344556677885f5f5f5f5f5f 32 plan9 ADDPS 0(CX), X2
-0f5811|223344556677885f5f5f5f5f5f 64 gnu addps (%rcx),%xmm2
-0f5811|223344556677885f5f5f5f5f5f 64 intel addps xmm2, xmmword ptr [rcx]
-0f5811|223344556677885f5f5f5f5f5f 64 plan9 ADDPS 0(CX), X2
-0f5911|223344556677885f5f5f5f5f5f 32 intel mulps xmm2, xmmword ptr [ecx]
-0f5911|223344556677885f5f5f5f5f5f 32 plan9 MULPS 0(CX), X2
-0f5911|223344556677885f5f5f5f5f5f 64 gnu mulps (%rcx),%xmm2
-0f5911|223344556677885f5f5f5f5f5f 64 intel mulps xmm2, xmmword ptr [rcx]
-0f5911|223344556677885f5f5f5f5f5f 64 plan9 MULPS 0(CX), X2
-0f5a11|223344556677885f5f5f5f5f5f 32 intel cvtps2pd xmm2, qword ptr [ecx]
-0f5a11|223344556677885f5f5f5f5f5f 32 plan9 CVTPS2PD 0(CX), X2
-0f5a11|223344556677885f5f5f5f5f5f 64 gnu cvtps2pd (%rcx),%xmm2
-0f5a11|223344556677885f5f5f5f5f5f 64 intel cvtps2pd xmm2, qword ptr [rcx]
-0f5a11|223344556677885f5f5f5f5f5f 64 plan9 CVTPS2PD 0(CX), X2
-0f5b11|223344556677885f5f5f5f5f5f 32 intel cvtdq2ps xmm2, xmmword ptr [ecx]
-0f5b11|223344556677885f5f5f5f5f5f 32 plan9 CVTDQ2PS 0(CX), X2
-0f5b11|223344556677885f5f5f5f5f5f 64 gnu cvtdq2ps (%rcx),%xmm2
-0f5b11|223344556677885f5f5f5f5f5f 64 intel cvtdq2ps xmm2, xmmword ptr [rcx]
-0f5b11|223344556677885f5f5f5f5f5f 64 plan9 CVTDQ2PS 0(CX), X2
-0f5c11|223344556677885f5f5f5f5f5f 32 intel subps xmm2, xmmword ptr [ecx]
-0f5c11|223344556677885f5f5f5f5f5f 32 plan9 SUBPS 0(CX), X2
-0f5c11|223344556677885f5f5f5f5f5f 64 gnu subps (%rcx),%xmm2
-0f5c11|223344556677885f5f5f5f5f5f 64 intel subps xmm2, xmmword ptr [rcx]
-0f5c11|223344556677885f5f5f5f5f5f 64 plan9 SUBPS 0(CX), X2
-0f5d11|223344556677885f5f5f5f5f5f 32 intel minps xmm2, xmmword ptr [ecx]
-0f5d11|223344556677885f5f5f5f5f5f 32 plan9 MINPS 0(CX), X2
-0f5d11|223344556677885f5f5f5f5f5f 64 gnu minps (%rcx),%xmm2
-0f5d11|223344556677885f5f5f5f5f5f 64 intel minps xmm2, xmmword ptr [rcx]
-0f5d11|223344556677885f5f5f5f5f5f 64 plan9 MINPS 0(CX), X2
-0f5e11|223344556677885f5f5f5f5f5f 32 intel divps xmm2, xmmword ptr [ecx]
-0f5e11|223344556677885f5f5f5f5f5f 32 plan9 DIVPS 0(CX), X2
-0f5e11|223344556677885f5f5f5f5f5f 64 gnu divps (%rcx),%xmm2
-0f5e11|223344556677885f5f5f5f5f5f 64 intel divps xmm2, xmmword ptr [rcx]
-0f5e11|223344556677885f5f5f5f5f5f 64 plan9 DIVPS 0(CX), X2
-0f5f11|223344556677885f5f5f5f5f5f 32 intel maxps xmm2, xmmword ptr [ecx]
-0f5f11|223344556677885f5f5f5f5f5f 32 plan9 MAXPS 0(CX), X2
-0f5f11|223344556677885f5f5f5f5f5f 64 gnu maxps (%rcx),%xmm2
-0f5f11|223344556677885f5f5f5f5f5f 64 intel maxps xmm2, xmmword ptr [rcx]
-0f5f11|223344556677885f5f5f5f5f5f 64 plan9 MAXPS 0(CX), X2
-0f6011|223344556677885f5f5f5f5f5f 32 intel punpcklbw mmx2, dword ptr [ecx]
-0f6011|223344556677885f5f5f5f5f5f 32 plan9 PUNPCKLBW 0(CX), M2
-0f6011|223344556677885f5f5f5f5f5f 64 gnu punpcklbw (%rcx),%mm2
-0f6011|223344556677885f5f5f5f5f5f 64 intel punpcklbw mmx2, dword ptr [rcx]
-0f6011|223344556677885f5f5f5f5f5f 64 plan9 PUNPCKLBW 0(CX), M2
-0f6111|223344556677885f5f5f5f5f5f 32 intel punpcklwd mmx2, dword ptr [ecx]
-0f6111|223344556677885f5f5f5f5f5f 32 plan9 PUNPCKLWD 0(CX), M2
-0f6111|223344556677885f5f5f5f5f5f 64 gnu punpcklwd (%rcx),%mm2
-0f6111|223344556677885f5f5f5f5f5f 64 intel punpcklwd mmx2, dword ptr [rcx]
-0f6111|223344556677885f5f5f5f5f5f 64 plan9 PUNPCKLWD 0(CX), M2
-0f6211|223344556677885f5f5f5f5f5f 32 intel punpckldq mmx2, dword ptr [ecx]
-0f6211|223344556677885f5f5f5f5f5f 32 plan9 PUNPCKLDQ 0(CX), M2
-0f6211|223344556677885f5f5f5f5f5f 64 gnu punpckldq (%rcx),%mm2
-0f6211|223344556677885f5f5f5f5f5f 64 intel punpckldq mmx2, dword ptr [rcx]
-0f6211|223344556677885f5f5f5f5f5f 64 plan9 PUNPCKLDQ 0(CX), M2
-0f6311|223344556677885f5f5f5f5f5f 32 intel packsswb mmx2, qword ptr [ecx]
-0f6311|223344556677885f5f5f5f5f5f 32 plan9 PACKSSWB 0(CX), M2
-0f6311|223344556677885f5f5f5f5f5f 64 gnu packsswb (%rcx),%mm2
-0f6311|223344556677885f5f5f5f5f5f 64 intel packsswb mmx2, qword ptr [rcx]
-0f6311|223344556677885f5f5f5f5f5f 64 plan9 PACKSSWB 0(CX), M2
-0f6411|223344556677885f5f5f5f5f5f 32 intel pcmpgtb mmx2, qword ptr [ecx]
-0f6411|223344556677885f5f5f5f5f5f 32 plan9 PCMPGTB 0(CX), M2
-0f6411|223344556677885f5f5f5f5f5f 64 gnu pcmpgtb (%rcx),%mm2
-0f6411|223344556677885f5f5f5f5f5f 64 intel pcmpgtb mmx2, qword ptr [rcx]
-0f6411|223344556677885f5f5f5f5f5f 64 plan9 PCMPGTB 0(CX), M2
-0f6511|223344556677885f5f5f5f5f5f 32 intel pcmpgtw mmx2, qword ptr [ecx]
-0f6511|223344556677885f5f5f5f5f5f 32 plan9 PCMPGTW 0(CX), M2
-0f6511|223344556677885f5f5f5f5f5f 64 gnu pcmpgtw (%rcx),%mm2
-0f6511|223344556677885f5f5f5f5f5f 64 intel pcmpgtw mmx2, qword ptr [rcx]
-0f6511|223344556677885f5f5f5f5f5f 64 plan9 PCMPGTW 0(CX), M2
-0f6611|223344556677885f5f5f5f5f5f 32 intel pcmpgtd mmx2, qword ptr [ecx]
-0f6611|223344556677885f5f5f5f5f5f 32 plan9 PCMPGTD 0(CX), M2
-0f6611|223344556677885f5f5f5f5f5f 64 gnu pcmpgtd (%rcx),%mm2
-0f6611|223344556677885f5f5f5f5f5f 64 intel pcmpgtd mmx2, qword ptr [rcx]
-0f6611|223344556677885f5f5f5f5f5f 64 plan9 PCMPGTD 0(CX), M2
-0f6711|223344556677885f5f5f5f5f5f 32 intel packuswb mmx2, qword ptr [ecx]
-0f6711|223344556677885f5f5f5f5f5f 32 plan9 PACKUSWB 0(CX), M2
-0f6711|223344556677885f5f5f5f5f5f 64 gnu packuswb (%rcx),%mm2
-0f6711|223344556677885f5f5f5f5f5f 64 intel packuswb mmx2, qword ptr [rcx]
-0f6711|223344556677885f5f5f5f5f5f 64 plan9 PACKUSWB 0(CX), M2
-0f6811|223344556677885f5f5f5f5f5f 32 intel punpckhbw mmx2, qword ptr [ecx]
-0f6811|223344556677885f5f5f5f5f5f 32 plan9 PUNPCKHBW 0(CX), M2
-0f6811|223344556677885f5f5f5f5f5f 64 gnu punpckhbw (%rcx),%mm2
-0f6811|223344556677885f5f5f5f5f5f 64 intel punpckhbw mmx2, qword ptr [rcx]
-0f6811|223344556677885f5f5f5f5f5f 64 plan9 PUNPCKHBW 0(CX), M2
-0f6911|223344556677885f5f5f5f5f5f 32 intel punpckhwd mmx2, qword ptr [ecx]
-0f6911|223344556677885f5f5f5f5f5f 32 plan9 PUNPCKHWD 0(CX), M2
-0f6911|223344556677885f5f5f5f5f5f 64 gnu punpckhwd (%rcx),%mm2
-0f6911|223344556677885f5f5f5f5f5f 64 intel punpckhwd mmx2, qword ptr [rcx]
-0f6911|223344556677885f5f5f5f5f5f 64 plan9 PUNPCKHWD 0(CX), M2
-0f6a11|223344556677885f5f5f5f5f5f 32 intel punpckhdq mmx2, qword ptr [ecx]
-0f6a11|223344556677885f5f5f5f5f5f 32 plan9 PUNPCKHDQ 0(CX), M2
-0f6a11|223344556677885f5f5f5f5f5f 64 gnu punpckhdq (%rcx),%mm2
-0f6a11|223344556677885f5f5f5f5f5f 64 intel punpckhdq mmx2, qword ptr [rcx]
-0f6a11|223344556677885f5f5f5f5f5f 64 plan9 PUNPCKHDQ 0(CX), M2
-0f6b11|223344556677885f5f5f5f5f5f 32 intel packssdw mmx2, qword ptr [ecx]
-0f6b11|223344556677885f5f5f5f5f5f 32 plan9 PACKSSDW 0(CX), M2
-0f6b11|223344556677885f5f5f5f5f5f 64 gnu packssdw (%rcx),%mm2
-0f6b11|223344556677885f5f5f5f5f5f 64 intel packssdw mmx2, qword ptr [rcx]
-0f6b11|223344556677885f5f5f5f5f5f 64 plan9 PACKSSDW 0(CX), M2
-0f6c|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f6c|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f6c|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f6c|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f6c|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f6d|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f6d|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f6d|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f6d|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f6d|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f6e11|223344556677885f5f5f5f5f5f 32 intel movd mmx2, dword ptr [ecx]
-0f6e11|223344556677885f5f5f5f5f5f 32 plan9 MOVD 0(CX), M2
-0f6e11|223344556677885f5f5f5f5f5f 64 gnu movd (%rcx),%mm2
-0f6e11|223344556677885f5f5f5f5f5f 64 intel movd mmx2, dword ptr [rcx]
-0f6e11|223344556677885f5f5f5f5f5f 64 plan9 MOVD 0(CX), M2
-0f6f11|223344556677885f5f5f5f5f5f 32 intel movq mmx2, qword ptr [ecx]
-0f6f11|223344556677885f5f5f5f5f5f 32 plan9 MOVQ 0(CX), M2
-0f6f11|223344556677885f5f5f5f5f5f 64 gnu movq (%rcx),%mm2
-0f6f11|223344556677885f5f5f5f5f5f 64 intel movq mmx2, qword ptr [rcx]
-0f6f11|223344556677885f5f5f5f5f5f 64 plan9 MOVQ 0(CX), M2
-0f701122|3344556677885f5f5f5f5f5f 32 intel pshufw mmx2, qword ptr [ecx], 0x22
-0f701122|3344556677885f5f5f5f5f5f 32 plan9 PSHUFW $0x22, 0(CX), M2
-0f701122|3344556677885f5f5f5f5f5f 64 gnu pshufw $0x22,(%rcx),%mm2
-0f701122|3344556677885f5f5f5f5f5f 64 intel pshufw mmx2, qword ptr [rcx], 0x22
-0f701122|3344556677885f5f5f5f5f5f 64 plan9 PSHUFW $0x22, 0(CX), M2
-0f7100|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f7100|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f7100|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f7100|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f7100|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f711122|3344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f711122|3344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f711122|3344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f711122|3344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f711122|3344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f712011|223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f712011|223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f712011|223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f712011|223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f712011|223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f713011|223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f713011|223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f713011|223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f713011|223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f713011|223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f71d011|223344556677885f5f5f5f5f 32 intel psrlw mmx0, 0x11
-0f71d011|223344556677885f5f5f5f5f 32 plan9 PSRLW $0x11, M0
-0f71d011|223344556677885f5f5f5f5f 64 gnu psrlw $0x11,%mm0
-0f71d011|223344556677885f5f5f5f5f 64 intel psrlw mmx0, 0x11
-0f71d011|223344556677885f5f5f5f5f 64 plan9 PSRLW $0x11, M0
-0f71e011|223344556677885f5f5f5f5f 32 intel psraw mmx0, 0x11
-0f71e011|223344556677885f5f5f5f5f 32 plan9 PSRAW $0x11, M0
-0f71e011|223344556677885f5f5f5f5f 64 gnu psraw $0x11,%mm0
-0f71e011|223344556677885f5f5f5f5f 64 intel psraw mmx0, 0x11
-0f71e011|223344556677885f5f5f5f5f 64 plan9 PSRAW $0x11, M0
-0f71f011|223344556677885f5f5f5f5f 32 intel psllw mmx0, 0x11
-0f71f011|223344556677885f5f5f5f5f 32 plan9 PSLLW $0x11, M0
-0f71f011|223344556677885f5f5f5f5f 64 gnu psllw $0x11,%mm0
-0f71f011|223344556677885f5f5f5f5f 64 intel psllw mmx0, 0x11
-0f71f011|223344556677885f5f5f5f5f 64 plan9 PSLLW $0x11, M0
-0f7200|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f7200|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f7200|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f7200|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f7200|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f721122|3344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f721122|3344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f721122|3344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f721122|3344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f721122|3344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f722011|223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f722011|223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f722011|223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f722011|223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f722011|223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f723011|223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f723011|223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f723011|223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f723011|223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f723011|223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f72d011|223344556677885f5f5f5f5f 32 intel psrld mmx0, 0x11
-0f72d011|223344556677885f5f5f5f5f 32 plan9 PSRLD $0x11, M0
-0f72d011|223344556677885f5f5f5f5f 64 gnu psrld $0x11,%mm0
-0f72d011|223344556677885f5f5f5f5f 64 intel psrld mmx0, 0x11
-0f72d011|223344556677885f5f5f5f5f 64 plan9 PSRLD $0x11, M0
-0f72e011|223344556677885f5f5f5f5f 32 intel psrad mmx0, 0x11
-0f72e011|223344556677885f5f5f5f5f 32 plan9 PSRAD $0x11, M0
-0f72e011|223344556677885f5f5f5f5f 64 gnu psrad $0x11,%mm0
-0f72e011|223344556677885f5f5f5f5f 64 intel psrad mmx0, 0x11
-0f72e011|223344556677885f5f5f5f5f 64 plan9 PSRAD $0x11, M0
-0f72f011|223344556677885f5f5f5f5f 32 intel pslld mmx0, 0x11
-0f72f011|223344556677885f5f5f5f5f 32 plan9 PSLLD $0x11, M0
-0f72f011|223344556677885f5f5f5f5f 64 gnu pslld $0x11,%mm0
-0f72f011|223344556677885f5f5f5f5f 64 intel pslld mmx0, 0x11
-0f72f011|223344556677885f5f5f5f5f 64 plan9 PSLLD $0x11, M0
-0f7300|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f7300|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f7300|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f7300|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f7300|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f731122|3344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f731122|3344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f731122|3344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f731122|3344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f731122|3344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f7318|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f7318|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f7318|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f7318|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f7318|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f733011|223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f733011|223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f733011|223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f733011|223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f733011|223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f7338|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0f7338|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f7338|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0f7338|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0f7338|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f73d011|223344556677885f5f5f5f5f 32 intel psrlq mmx0, 0x11
-0f73d011|223344556677885f5f5f5f5f 32 plan9 PSRLQ $0x11, M0
-0f73d011|223344556677885f5f5f5f5f 64 gnu psrlq $0x11,%mm0
-0f73d011|223344556677885f5f5f5f5f 64 intel psrlq mmx0, 0x11
-0f73d011|223344556677885f5f5f5f5f 64 plan9 PSRLQ $0x11, M0
-0f73f011|223344556677885f5f5f5f5f 32 intel psllq mmx0, 0x11
-0f73f011|223344556677885f5f5f5f5f 32 plan9 PSLLQ $0x11, M0
-0f73f011|223344556677885f5f5f5f5f 64 gnu psllq $0x11,%mm0
-0f73f011|223344556677885f5f5f5f5f 64 intel psllq mmx0, 0x11
-0f73f011|223344556677885f5f5f5f5f 64 plan9 PSLLQ $0x11, M0
-0f7411|223344556677885f5f5f5f5f5f 32 intel pcmpeqb mmx2, qword ptr [ecx]
-0f7411|223344556677885f5f5f5f5f5f 32 plan9 PCMPEQB 0(CX), M2
-0f7411|223344556677885f5f5f5f5f5f 64 gnu pcmpeqb (%rcx),%mm2
-0f7411|223344556677885f5f5f5f5f5f 64 intel pcmpeqb mmx2, qword ptr [rcx]
-0f7411|223344556677885f5f5f5f5f5f 64 plan9 PCMPEQB 0(CX), M2
-0f7511|223344556677885f5f5f5f5f5f 32 intel pcmpeqw mmx2, qword ptr [ecx]
-0f7511|223344556677885f5f5f5f5f5f 32 plan9 PCMPEQW 0(CX), M2
-0f7511|223344556677885f5f5f5f5f5f 64 gnu pcmpeqw (%rcx),%mm2
-0f7511|223344556677885f5f5f5f5f5f 64 intel pcmpeqw mmx2, qword ptr [rcx]
-0f7511|223344556677885f5f5f5f5f5f 64 plan9 PCMPEQW 0(CX), M2
-0f7611|223344556677885f5f5f5f5f5f 32 intel pcmpeqd mmx2, qword ptr [ecx]
-0f7611|223344556677885f5f5f5f5f5f 32 plan9 PCMPEQD 0(CX), M2
-0f7611|223344556677885f5f5f5f5f5f 64 gnu pcmpeqd (%rcx),%mm2
-0f7611|223344556677885f5f5f5f5f5f 64 intel pcmpeqd mmx2, qword ptr [rcx]
-0f7611|223344556677885f5f5f5f5f5f 64 plan9 PCMPEQD 0(CX), M2
-0f77|11223344556677885f5f5f5f5f5f 32 intel emms
-0f77|11223344556677885f5f5f5f5f5f 32 plan9 EMMS
-0f77|11223344556677885f5f5f5f5f5f 64 gnu emms
-0f77|11223344556677885f5f5f5f5f5f 64 intel emms
-0f77|11223344556677885f5f5f5f5f5f 64 plan9 EMMS
-0f7c|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f7c|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f7c|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f7c|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f7c|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f7d|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0f7d|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0f7d|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0f7d|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0f7d|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0f7e11|223344556677885f5f5f5f5f5f 32 intel movd dword ptr [ecx], mmx2
-0f7e11|223344556677885f5f5f5f5f5f 32 plan9 MOVD M2, 0(CX)
-0f7e11|223344556677885f5f5f5f5f5f 64 gnu movd %mm2,(%rcx)
-0f7e11|223344556677885f5f5f5f5f5f 64 intel movd dword ptr [rcx], mmx2
-0f7e11|223344556677885f5f5f5f5f5f 64 plan9 MOVD M2, 0(CX)
-0f7f11|223344556677885f5f5f5f5f5f 32 intel movq qword ptr [ecx], mmx2
-0f7f11|223344556677885f5f5f5f5f5f 32 plan9 MOVQ M2, 0(CX)
-0f7f11|223344556677885f5f5f5f5f5f 64 gnu movq %mm2,(%rcx)
-0f7f11|223344556677885f5f5f5f5f5f 64 intel movq qword ptr [rcx], mmx2
-0f7f11|223344556677885f5f5f5f5f5f 64 plan9 MOVQ M2, 0(CX)
-0f8011223344|556677885f5f5f5f5f5f 32 intel jo .+0x44332211
-0f8011223344|556677885f5f5f5f5f5f 32 plan9 JO .+1144201745
-0f8011223344|556677885f5f5f5f5f5f 64 gnu jo .+0x44332211
-0f8011223344|556677885f5f5f5f5f5f 64 intel jo .+0x44332211
-0f8011223344|556677885f5f5f5f5f5f 64 plan9 JO .+1144201745
-0f8111223344|556677885f5f5f5f5f5f 32 intel jno .+0x44332211
-0f8111223344|556677885f5f5f5f5f5f 32 plan9 JNO .+1144201745
-0f8111223344|556677885f5f5f5f5f5f 64 gnu jno .+0x44332211
-0f8111223344|556677885f5f5f5f5f5f 64 intel jno .+0x44332211
-0f8111223344|556677885f5f5f5f5f5f 64 plan9 JNO .+1144201745
-0f8211223344|556677885f5f5f5f5f5f 32 intel jb .+0x44332211
-0f8211223344|556677885f5f5f5f5f5f 32 plan9 JB .+1144201745
-0f8211223344|556677885f5f5f5f5f5f 64 gnu jb .+0x44332211
-0f8211223344|556677885f5f5f5f5f5f 64 intel jb .+0x44332211
-0f8211223344|556677885f5f5f5f5f5f 64 plan9 JB .+1144201745
-0f8311223344|556677885f5f5f5f5f5f 32 intel jnb .+0x44332211
-0f8311223344|556677885f5f5f5f5f5f 32 plan9 JAE .+1144201745
-0f8311223344|556677885f5f5f5f5f5f 64 gnu jae .+0x44332211
-0f8311223344|556677885f5f5f5f5f5f 64 intel jnb .+0x44332211
-0f8311223344|556677885f5f5f5f5f5f 64 plan9 JAE .+1144201745
-0f8411223344|556677885f5f5f5f5f5f 32 intel jz .+0x44332211
-0f8411223344|556677885f5f5f5f5f5f 32 plan9 JE .+1144201745
-0f8411223344|556677885f5f5f5f5f5f 64 gnu je .+0x44332211
-0f8411223344|556677885f5f5f5f5f5f 64 intel jz .+0x44332211
-0f8411223344|556677885f5f5f5f5f5f 64 plan9 JE .+1144201745
-0f8511223344|556677885f5f5f5f5f5f 32 intel jnz .+0x44332211
-0f8511223344|556677885f5f5f5f5f5f 32 plan9 JNE .+1144201745
-0f8511223344|556677885f5f5f5f5f5f 64 gnu jne .+0x44332211
-0f8511223344|556677885f5f5f5f5f5f 64 intel jnz .+0x44332211
-0f8511223344|556677885f5f5f5f5f5f 64 plan9 JNE .+1144201745
-0f8611223344|556677885f5f5f5f5f5f 32 intel jbe .+0x44332211
-0f8611223344|556677885f5f5f5f5f5f 32 plan9 JBE .+1144201745
-0f8611223344|556677885f5f5f5f5f5f 64 gnu jbe .+0x44332211
-0f8611223344|556677885f5f5f5f5f5f 64 intel jbe .+0x44332211
-0f8611223344|556677885f5f5f5f5f5f 64 plan9 JBE .+1144201745
-0f8711223344|556677885f5f5f5f5f5f 32 intel jnbe .+0x44332211
-0f8711223344|556677885f5f5f5f5f5f 32 plan9 JA .+1144201745
-0f8711223344|556677885f5f5f5f5f5f 64 gnu ja .+0x44332211
-0f8711223344|556677885f5f5f5f5f5f 64 intel jnbe .+0x44332211
-0f8711223344|556677885f5f5f5f5f5f 64 plan9 JA .+1144201745
-0f8811223344|556677885f5f5f5f5f5f 32 intel js .+0x44332211
-0f8811223344|556677885f5f5f5f5f5f 32 plan9 JS .+1144201745
-0f8811223344|556677885f5f5f5f5f5f 64 gnu js .+0x44332211
-0f8811223344|556677885f5f5f5f5f5f 64 intel js .+0x44332211
-0f8811223344|556677885f5f5f5f5f5f 64 plan9 JS .+1144201745
-0f8911223344|556677885f5f5f5f5f5f 32 intel jns .+0x44332211
-0f8911223344|556677885f5f5f5f5f5f 32 plan9 JNS .+1144201745
-0f8911223344|556677885f5f5f5f5f5f 64 gnu jns .+0x44332211
-0f8911223344|556677885f5f5f5f5f5f 64 intel jns .+0x44332211
-0f8911223344|556677885f5f5f5f5f5f 64 plan9 JNS .+1144201745
-0f8a11223344|556677885f5f5f5f5f5f 32 intel jp .+0x44332211
-0f8a11223344|556677885f5f5f5f5f5f 32 plan9 JP .+1144201745
-0f8a11223344|556677885f5f5f5f5f5f 64 gnu jp .+0x44332211
-0f8a11223344|556677885f5f5f5f5f5f 64 intel jp .+0x44332211
-0f8a11223344|556677885f5f5f5f5f5f 64 plan9 JP .+1144201745
-0f8b11223344|556677885f5f5f5f5f5f 32 intel jnp .+0x44332211
-0f8b11223344|556677885f5f5f5f5f5f 32 plan9 JNP .+1144201745
-0f8b11223344|556677885f5f5f5f5f5f 64 gnu jnp .+0x44332211
-0f8b11223344|556677885f5f5f5f5f5f 64 intel jnp .+0x44332211
-0f8b11223344|556677885f5f5f5f5f5f 64 plan9 JNP .+1144201745
-0f8c11223344|556677885f5f5f5f5f5f 32 intel jl .+0x44332211
-0f8c11223344|556677885f5f5f5f5f5f 32 plan9 JL .+1144201745
-0f8c11223344|556677885f5f5f5f5f5f 64 gnu jl .+0x44332211
-0f8c11223344|556677885f5f5f5f5f5f 64 intel jl .+0x44332211
-0f8c11223344|556677885f5f5f5f5f5f 64 plan9 JL .+1144201745
-0f8d11223344|556677885f5f5f5f5f5f 32 intel jnl .+0x44332211
-0f8d11223344|556677885f5f5f5f5f5f 32 plan9 JGE .+1144201745
-0f8d11223344|556677885f5f5f5f5f5f 64 gnu jge .+0x44332211
-0f8d11223344|556677885f5f5f5f5f5f 64 intel jnl .+0x44332211
-0f8d11223344|556677885f5f5f5f5f5f 64 plan9 JGE .+1144201745
-0f8e11223344|556677885f5f5f5f5f5f 32 intel jle .+0x44332211
-0f8e11223344|556677885f5f5f5f5f5f 32 plan9 JLE .+1144201745
-0f8e11223344|556677885f5f5f5f5f5f 64 gnu jle .+0x44332211
-0f8e11223344|556677885f5f5f5f5f5f 64 intel jle .+0x44332211
-0f8e11223344|556677885f5f5f5f5f5f 64 plan9 JLE .+1144201745
-0f8f11223344|556677885f5f5f5f5f5f 32 intel jnle .+0x44332211
-0f8f11223344|556677885f5f5f5f5f5f 32 plan9 JG .+1144201745
-0f8f11223344|556677885f5f5f5f5f5f 64 gnu jg .+0x44332211
-0f8f11223344|556677885f5f5f5f5f5f 64 intel jnle .+0x44332211
-0f8f11223344|556677885f5f5f5f5f5f 64 plan9 JG .+1144201745
-0f9011|223344556677885f5f5f5f5f5f 32 intel seto byte ptr [ecx]
-0f9011|223344556677885f5f5f5f5f5f 32 plan9 SETO 0(CX)
-0f9011|223344556677885f5f5f5f5f5f 64 gnu seto (%rcx)
-0f9011|223344556677885f5f5f5f5f5f 64 intel seto byte ptr [rcx]
-0f9011|223344556677885f5f5f5f5f5f 64 plan9 SETO 0(CX)
-0f9111|223344556677885f5f5f5f5f5f 32 intel setno byte ptr [ecx]
-0f9111|223344556677885f5f5f5f5f5f 32 plan9 SETNO 0(CX)
-0f9111|223344556677885f5f5f5f5f5f 64 gnu setno (%rcx)
-0f9111|223344556677885f5f5f5f5f5f 64 intel setno byte ptr [rcx]
-0f9111|223344556677885f5f5f5f5f5f 64 plan9 SETNO 0(CX)
-0f9211|223344556677885f5f5f5f5f5f 32 intel setb byte ptr [ecx]
-0f9211|223344556677885f5f5f5f5f5f 32 plan9 SETB 0(CX)
-0f9211|223344556677885f5f5f5f5f5f 64 gnu setb (%rcx)
-0f9211|223344556677885f5f5f5f5f5f 64 intel setb byte ptr [rcx]
-0f9211|223344556677885f5f5f5f5f5f 64 plan9 SETB 0(CX)
-0f9311|223344556677885f5f5f5f5f5f 32 intel setnb byte ptr [ecx]
-0f9311|223344556677885f5f5f5f5f5f 32 plan9 SETAE 0(CX)
-0f9311|223344556677885f5f5f5f5f5f 64 gnu setae (%rcx)
-0f9311|223344556677885f5f5f5f5f5f 64 intel setnb byte ptr [rcx]
-0f9311|223344556677885f5f5f5f5f5f 64 plan9 SETAE 0(CX)
-0f9411|223344556677885f5f5f5f5f5f 32 intel setz byte ptr [ecx]
-0f9411|223344556677885f5f5f5f5f5f 32 plan9 SETE 0(CX)
-0f9411|223344556677885f5f5f5f5f5f 64 gnu sete (%rcx)
-0f9411|223344556677885f5f5f5f5f5f 64 intel setz byte ptr [rcx]
-0f9411|223344556677885f5f5f5f5f5f 64 plan9 SETE 0(CX)
-0f9511|223344556677885f5f5f5f5f5f 32 intel setnz byte ptr [ecx]
-0f9511|223344556677885f5f5f5f5f5f 32 plan9 SETNE 0(CX)
-0f9511|223344556677885f5f5f5f5f5f 64 gnu setne (%rcx)
-0f9511|223344556677885f5f5f5f5f5f 64 intel setnz byte ptr [rcx]
-0f9511|223344556677885f5f5f5f5f5f 64 plan9 SETNE 0(CX)
-0f9611|223344556677885f5f5f5f5f5f 32 intel setbe byte ptr [ecx]
-0f9611|223344556677885f5f5f5f5f5f 32 plan9 SETBE 0(CX)
-0f9611|223344556677885f5f5f5f5f5f 64 gnu setbe (%rcx)
-0f9611|223344556677885f5f5f5f5f5f 64 intel setbe byte ptr [rcx]
-0f9611|223344556677885f5f5f5f5f5f 64 plan9 SETBE 0(CX)
-0f9711|223344556677885f5f5f5f5f5f 32 intel setnbe byte ptr [ecx]
-0f9711|223344556677885f5f5f5f5f5f 32 plan9 SETA 0(CX)
-0f9711|223344556677885f5f5f5f5f5f 64 gnu seta (%rcx)
-0f9711|223344556677885f5f5f5f5f5f 64 intel setnbe byte ptr [rcx]
-0f9711|223344556677885f5f5f5f5f5f 64 plan9 SETA 0(CX)
-0f9811|223344556677885f5f5f5f5f5f 32 intel sets byte ptr [ecx]
-0f9811|223344556677885f5f5f5f5f5f 32 plan9 SETS 0(CX)
-0f9811|223344556677885f5f5f5f5f5f 64 gnu sets (%rcx)
-0f9811|223344556677885f5f5f5f5f5f 64 intel sets byte ptr [rcx]
-0f9811|223344556677885f5f5f5f5f5f 64 plan9 SETS 0(CX)
-0f9911|223344556677885f5f5f5f5f5f 32 intel setns byte ptr [ecx]
-0f9911|223344556677885f5f5f5f5f5f 32 plan9 SETNS 0(CX)
-0f9911|223344556677885f5f5f5f5f5f 64 gnu setns (%rcx)
-0f9911|223344556677885f5f5f5f5f5f 64 intel setns byte ptr [rcx]
-0f9911|223344556677885f5f5f5f5f5f 64 plan9 SETNS 0(CX)
-0f9a11|223344556677885f5f5f5f5f5f 32 intel setp byte ptr [ecx]
-0f9a11|223344556677885f5f5f5f5f5f 32 plan9 SETP 0(CX)
-0f9a11|223344556677885f5f5f5f5f5f 64 gnu setp (%rcx)
-0f9a11|223344556677885f5f5f5f5f5f 64 intel setp byte ptr [rcx]
-0f9a11|223344556677885f5f5f5f5f5f 64 plan9 SETP 0(CX)
-0f9b11|223344556677885f5f5f5f5f5f 32 intel setnp byte ptr [ecx]
-0f9b11|223344556677885f5f5f5f5f5f 32 plan9 SETNP 0(CX)
-0f9b11|223344556677885f5f5f5f5f5f 64 gnu setnp (%rcx)
-0f9b11|223344556677885f5f5f5f5f5f 64 intel setnp byte ptr [rcx]
-0f9b11|223344556677885f5f5f5f5f5f 64 plan9 SETNP 0(CX)
-0f9c11|223344556677885f5f5f5f5f5f 32 intel setl byte ptr [ecx]
-0f9c11|223344556677885f5f5f5f5f5f 32 plan9 SETL 0(CX)
-0f9c11|223344556677885f5f5f5f5f5f 64 gnu setl (%rcx)
-0f9c11|223344556677885f5f5f5f5f5f 64 intel setl byte ptr [rcx]
-0f9c11|223344556677885f5f5f5f5f5f 64 plan9 SETL 0(CX)
-0f9d11|223344556677885f5f5f5f5f5f 32 intel setnl byte ptr [ecx]
-0f9d11|223344556677885f5f5f5f5f5f 32 plan9 SETGE 0(CX)
-0f9d11|223344556677885f5f5f5f5f5f 64 gnu setge (%rcx)
-0f9d11|223344556677885f5f5f5f5f5f 64 intel setnl byte ptr [rcx]
-0f9d11|223344556677885f5f5f5f5f5f 64 plan9 SETGE 0(CX)
-0f9e11|223344556677885f5f5f5f5f5f 32 intel setle byte ptr [ecx]
-0f9e11|223344556677885f5f5f5f5f5f 32 plan9 SETLE 0(CX)
-0f9e11|223344556677885f5f5f5f5f5f 64 gnu setle (%rcx)
-0f9e11|223344556677885f5f5f5f5f5f 64 intel setle byte ptr [rcx]
-0f9e11|223344556677885f5f5f5f5f5f 64 plan9 SETLE 0(CX)
-0f9f11|223344556677885f5f5f5f5f5f 32 intel setnle byte ptr [ecx]
-0f9f11|223344556677885f5f5f5f5f5f 32 plan9 SETG 0(CX)
-0f9f11|223344556677885f5f5f5f5f5f 64 gnu setg (%rcx)
-0f9f11|223344556677885f5f5f5f5f5f 64 intel setnle byte ptr [rcx]
-0f9f11|223344556677885f5f5f5f5f5f 64 plan9 SETG 0(CX)
-0fa0|11223344556677885f5f5f5f5f5f 32 intel push fs
-0fa0|11223344556677885f5f5f5f5f5f 32 plan9 PUSHL FS
-0fa0|11223344556677885f5f5f5f5f5f 64 gnu pushq %fs
-0fa0|11223344556677885f5f5f5f5f5f 64 intel push fs
-0fa0|11223344556677885f5f5f5f5f5f 64 plan9 PUSHL FS
-0fa1|11223344556677885f5f5f5f5f5f 32 intel pop fs
-0fa1|11223344556677885f5f5f5f5f5f 32 plan9 POPL FS
-0fa1|11223344556677885f5f5f5f5f5f 64 gnu popq %fs
-0fa1|11223344556677885f5f5f5f5f5f 64 intel pop fs
-0fa1|11223344556677885f5f5f5f5f5f 64 plan9 POPL FS
-0fa2|11223344556677885f5f5f5f5f5f 32 intel cpuid
-0fa2|11223344556677885f5f5f5f5f5f 32 plan9 CPUID
-0fa2|11223344556677885f5f5f5f5f5f 64 gnu cpuid
-0fa2|11223344556677885f5f5f5f5f5f 64 intel cpuid
-0fa2|11223344556677885f5f5f5f5f5f 64 plan9 CPUID
-0fa311|223344556677885f5f5f5f5f5f 32 intel bt dword ptr [ecx], edx
-0fa311|223344556677885f5f5f5f5f5f 32 plan9 BTL DX, 0(CX)
-0fa311|223344556677885f5f5f5f5f5f 64 gnu bt %edx,(%rcx)
-0fa311|223344556677885f5f5f5f5f5f 64 intel bt dword ptr [rcx], edx
-0fa311|223344556677885f5f5f5f5f5f 64 plan9 BTL DX, 0(CX)
-0fa41122|3344556677885f5f5f5f5f5f 32 intel shld dword ptr [ecx], edx, 0x22
-0fa41122|3344556677885f5f5f5f5f5f 32 plan9 SHLDL $0x22, DX, 0(CX)
-0fa41122|3344556677885f5f5f5f5f5f 64 gnu shld $0x22,%edx,(%rcx)
-0fa41122|3344556677885f5f5f5f5f5f 64 intel shld dword ptr [rcx], edx, 0x22
-0fa41122|3344556677885f5f5f5f5f5f 64 plan9 SHLDL $0x22, DX, 0(CX)
-0fa511|223344556677885f5f5f5f5f5f 32 intel shld dword ptr [ecx], edx, cl
-0fa511|223344556677885f5f5f5f5f5f 32 plan9 SHLDL CL, DX, 0(CX)
-0fa511|223344556677885f5f5f5f5f5f 64 gnu shld %cl,%edx,(%rcx)
-0fa511|223344556677885f5f5f5f5f5f 64 intel shld dword ptr [rcx], edx, cl
-0fa511|223344556677885f5f5f5f5f5f 64 plan9 SHLDL CL, DX, 0(CX)
-0fa8|11223344556677885f5f5f5f5f5f 32 intel push gs
-0fa8|11223344556677885f5f5f5f5f5f 32 plan9 PUSHL GS
-0fa8|11223344556677885f5f5f5f5f5f 64 gnu pushq %gs
-0fa8|11223344556677885f5f5f5f5f5f 64 intel push gs
-0fa8|11223344556677885f5f5f5f5f5f 64 plan9 PUSHL GS
-0fa9|11223344556677885f5f5f5f5f5f 32 intel pop gs
-0fa9|11223344556677885f5f5f5f5f5f 32 plan9 POPL GS
-0fa9|11223344556677885f5f5f5f5f5f 64 gnu popq %gs
-0fa9|11223344556677885f5f5f5f5f5f 64 intel pop gs
-0fa9|11223344556677885f5f5f5f5f5f 64 plan9 POPL GS
-0faa|11223344556677885f5f5f5f5f5f 32 intel rsm
-0faa|11223344556677885f5f5f5f5f5f 32 plan9 RSM
-0faa|11223344556677885f5f5f5f5f5f 64 gnu rsm
-0faa|11223344556677885f5f5f5f5f5f 64 intel rsm
-0faa|11223344556677885f5f5f5f5f5f 64 plan9 RSM
-0fab11|223344556677885f5f5f5f5f5f 32 intel bts dword ptr [ecx], edx
-0fab11|223344556677885f5f5f5f5f5f 32 plan9 BTSL DX, 0(CX)
-0fab11|223344556677885f5f5f5f5f5f 64 gnu bts %edx,(%rcx)
-0fab11|223344556677885f5f5f5f5f5f 64 intel bts dword ptr [rcx], edx
-0fab11|223344556677885f5f5f5f5f5f 64 plan9 BTSL DX, 0(CX)
-0fac1122|3344556677885f5f5f5f5f5f 32 intel shrd dword ptr [ecx], edx, 0x22
-0fac1122|3344556677885f5f5f5f5f5f 32 plan9 SHRDL $0x22, DX, 0(CX)
-0fac1122|3344556677885f5f5f5f5f5f 64 gnu shrd $0x22,%edx,(%rcx)
-0fac1122|3344556677885f5f5f5f5f5f 64 intel shrd dword ptr [rcx], edx, 0x22
-0fac1122|3344556677885f5f5f5f5f5f 64 plan9 SHRDL $0x22, DX, 0(CX)
-0fad11|223344556677885f5f5f5f5f5f 32 intel shrd dword ptr [ecx], edx, cl
-0fad11|223344556677885f5f5f5f5f5f 32 plan9 SHRDL CL, DX, 0(CX)
-0fad11|223344556677885f5f5f5f5f5f 64 gnu shrd %cl,%edx,(%rcx)
-0fad11|223344556677885f5f5f5f5f5f 64 intel shrd dword ptr [rcx], edx, cl
-0fad11|223344556677885f5f5f5f5f5f 64 plan9 SHRDL CL, DX, 0(CX)
-0fae00|11223344556677885f5f5f5f5f 32 intel fxsave ptr [eax]
-0fae00|11223344556677885f5f5f5f5f 32 plan9 FXSAVE 0(AX)
-0fae00|11223344556677885f5f5f5f5f 64 gnu fxsave (%rax)
-0fae00|11223344556677885f5f5f5f5f 64 intel fxsave ptr [rax]
-0fae00|11223344556677885f5f5f5f5f 64 plan9 FXSAVE 0(AX)
-0fae08|11223344556677885f5f5f5f5f 32 intel fxrstor ptr [eax]
-0fae08|11223344556677885f5f5f5f5f 32 plan9 FXRSTOR 0(AX)
-0fae08|11223344556677885f5f5f5f5f 64 gnu fxrstor (%rax)
-0fae08|11223344556677885f5f5f5f5f 64 intel fxrstor ptr [rax]
-0fae08|11223344556677885f5f5f5f5f 64 plan9 FXRSTOR 0(AX)
-0fae11|223344556677885f5f5f5f5f5f 32 intel ldmxcsr dword ptr [ecx]
-0fae11|223344556677885f5f5f5f5f5f 32 plan9 LDMXCSR 0(CX)
-0fae11|223344556677885f5f5f5f5f5f 64 gnu ldmxcsr (%rcx)
-0fae11|223344556677885f5f5f5f5f5f 64 intel ldmxcsr dword ptr [rcx]
-0fae11|223344556677885f5f5f5f5f5f 64 plan9 LDMXCSR 0(CX)
-0fae18|11223344556677885f5f5f5f5f 32 intel stmxcsr dword ptr [eax]
-0fae18|11223344556677885f5f5f5f5f 32 plan9 STMXCSR 0(AX)
-0fae18|11223344556677885f5f5f5f5f 64 gnu stmxcsr (%rax)
-0fae18|11223344556677885f5f5f5f5f 64 intel stmxcsr dword ptr [rax]
-0fae18|11223344556677885f5f5f5f5f 64 plan9 STMXCSR 0(AX)
-0fae20|11223344556677885f5f5f5f5f 32 intel xsave ptr [eax]
-0fae20|11223344556677885f5f5f5f5f 32 plan9 XSAVE 0(AX)
-0fae20|11223344556677885f5f5f5f5f 64 gnu xsave (%rax)
-0fae20|11223344556677885f5f5f5f5f 64 intel xsave ptr [rax]
-0fae20|11223344556677885f5f5f5f5f 64 plan9 XSAVE 0(AX)
-0fae28|11223344556677885f5f5f5f5f 32 intel xrstor ptr [eax]
-0fae28|11223344556677885f5f5f5f5f 32 plan9 XRSTOR 0(AX)
-0fae28|11223344556677885f5f5f5f5f 64 gnu xrstor (%rax)
-0fae28|11223344556677885f5f5f5f5f 64 intel xrstor ptr [rax]
-0fae28|11223344556677885f5f5f5f5f 64 plan9 XRSTOR 0(AX)
-0fae30|11223344556677885f5f5f5f5f 32 intel xsaveopt ptr [eax]
-0fae30|11223344556677885f5f5f5f5f 32 plan9 XSAVEOPT 0(AX)
-0fae30|11223344556677885f5f5f5f5f 64 gnu xsaveopt (%rax)
-0fae30|11223344556677885f5f5f5f5f 64 intel xsaveopt ptr [rax]
-0fae30|11223344556677885f5f5f5f5f 64 plan9 XSAVEOPT 0(AX)
-0fae38|11223344556677885f5f5f5f5f 32 intel clflush zmmword ptr [eax]
-0fae38|11223344556677885f5f5f5f5f 32 plan9 CLFLUSH 0(AX)
-0fae38|11223344556677885f5f5f5f5f 64 gnu clflush (%rax)
-0fae38|11223344556677885f5f5f5f5f 64 intel clflush zmmword ptr [rax]
-0fae38|11223344556677885f5f5f5f5f 64 plan9 CLFLUSH 0(AX)
-0faee8|11223344556677885f5f5f5f5f 32 intel lfence
-0faee8|11223344556677885f5f5f5f5f 32 plan9 LFENCE
-0faee8|11223344556677885f5f5f5f5f 64 gnu lfence
-0faee8|11223344556677885f5f5f5f5f 64 intel lfence
-0faee8|11223344556677885f5f5f5f5f 64 plan9 LFENCE
-0faef0|11223344556677885f5f5f5f5f 32 intel mfence
-0faef0|11223344556677885f5f5f5f5f 32 plan9 MFENCE
-0faef0|11223344556677885f5f5f5f5f 64 gnu mfence
-0faef0|11223344556677885f5f5f5f5f 64 intel mfence
-0faef0|11223344556677885f5f5f5f5f 64 plan9 MFENCE
-0faef8|11223344556677885f5f5f5f5f 32 intel sfence
-0faef8|11223344556677885f5f5f5f5f 32 plan9 SFENCE
-0faef8|11223344556677885f5f5f5f5f 64 gnu sfence
-0faef8|11223344556677885f5f5f5f5f 64 intel sfence
-0faef8|11223344556677885f5f5f5f5f 64 plan9 SFENCE
-0faf11|223344556677885f5f5f5f5f5f 32 intel imul edx, dword ptr [ecx]
-0faf11|223344556677885f5f5f5f5f5f 32 plan9 IMULL 0(CX), DX
-0faf11|223344556677885f5f5f5f5f5f 64 gnu imul (%rcx),%edx
-0faf11|223344556677885f5f5f5f5f5f 64 intel imul edx, dword ptr [rcx]
-0faf11|223344556677885f5f5f5f5f5f 64 plan9 IMULL 0(CX), DX
-0fb011|223344556677885f5f5f5f5f5f 32 intel cmpxchg byte ptr [ecx], dl
-0fb011|223344556677885f5f5f5f5f5f 32 plan9 CMPXCHGB DL, 0(CX)
-0fb011|223344556677885f5f5f5f5f5f 64 gnu cmpxchg %dl,(%rcx)
-0fb011|223344556677885f5f5f5f5f5f 64 intel cmpxchg byte ptr [rcx], dl
-0fb011|223344556677885f5f5f5f5f5f 64 plan9 CMPXCHGB DL, 0(CX)
-0fb111|223344556677885f5f5f5f5f5f 32 intel cmpxchg dword ptr [ecx], edx
-0fb111|223344556677885f5f5f5f5f5f 32 plan9 CMPXCHGL DX, 0(CX)
-0fb111|223344556677885f5f5f5f5f5f 64 gnu cmpxchg %edx,(%rcx)
-0fb111|223344556677885f5f5f5f5f5f 64 intel cmpxchg dword ptr [rcx], edx
-0fb111|223344556677885f5f5f5f5f5f 64 plan9 CMPXCHGL DX, 0(CX)
-0fb211|223344556677885f5f5f5f5f5f 32 intel lss edx, ptr [ecx]
-0fb211|223344556677885f5f5f5f5f5f 32 plan9 LSS 0(CX), DX
-0fb211|223344556677885f5f5f5f5f5f 64 gnu lss (%rcx),%edx
-0fb211|223344556677885f5f5f5f5f5f 64 intel lss edx, ptr [rcx]
-0fb211|223344556677885f5f5f5f5f5f 64 plan9 LSS 0(CX), DX
-0fb311|223344556677885f5f5f5f5f5f 32 intel btr dword ptr [ecx], edx
-0fb311|223344556677885f5f5f5f5f5f 32 plan9 BTRL DX, 0(CX)
-0fb311|223344556677885f5f5f5f5f5f 64 gnu btr %edx,(%rcx)
-0fb311|223344556677885f5f5f5f5f5f 64 intel btr dword ptr [rcx], edx
-0fb311|223344556677885f5f5f5f5f5f 64 plan9 BTRL DX, 0(CX)
-0fb411|223344556677885f5f5f5f5f5f 32 intel lfs edx, ptr [ecx]
-0fb411|223344556677885f5f5f5f5f5f 32 plan9 LFS 0(CX), DX
-0fb411|223344556677885f5f5f5f5f5f 64 gnu lfs (%rcx),%edx
-0fb411|223344556677885f5f5f5f5f5f 64 intel lfs edx, ptr [rcx]
-0fb411|223344556677885f5f5f5f5f5f 64 plan9 LFS 0(CX), DX
-0fb511|223344556677885f5f5f5f5f5f 32 intel lgs edx, ptr [ecx]
-0fb511|223344556677885f5f5f5f5f5f 32 plan9 LGS 0(CX), DX
-0fb511|223344556677885f5f5f5f5f5f 64 gnu lgs (%rcx),%edx
-0fb511|223344556677885f5f5f5f5f5f 64 intel lgs edx, ptr [rcx]
-0fb511|223344556677885f5f5f5f5f5f 64 plan9 LGS 0(CX), DX
-0fb611|223344556677885f5f5f5f5f5f 32 intel movzx edx, byte ptr [ecx]
-0fb611|223344556677885f5f5f5f5f5f 32 plan9 MOVZX 0(CX), DX
-0fb611|223344556677885f5f5f5f5f5f 64 gnu movzbl (%rcx),%edx
-0fb611|223344556677885f5f5f5f5f5f 64 intel movzx edx, byte ptr [rcx]
-0fb611|223344556677885f5f5f5f5f5f 64 plan9 MOVZX 0(CX), DX
-0fb711|223344556677885f5f5f5f5f5f 32 intel movzx edx, word ptr [ecx]
-0fb711|223344556677885f5f5f5f5f5f 32 plan9 MOVZX 0(CX), DX
-0fb711|223344556677885f5f5f5f5f5f 64 gnu movzwl (%rcx),%edx
-0fb711|223344556677885f5f5f5f5f5f 64 intel movzx edx, word ptr [rcx]
-0fb711|223344556677885f5f5f5f5f5f 64 plan9 MOVZX 0(CX), DX
-0fb8|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0fb8|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fb8|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0fb8|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0fb8|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fb9|11223344556677885f5f5f5f5f5f 32 intel ud1
-0fb9|11223344556677885f5f5f5f5f5f 32 plan9 UD1
-0fb9|11223344556677885f5f5f5f5f5f 64 gnu ud1
-0fb9|11223344556677885f5f5f5f5f5f 64 intel ud1
-0fb9|11223344556677885f5f5f5f5f5f 64 plan9 UD1
-0fba11|223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0fba11|223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fba11|223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0fba11|223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0fba11|223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fba2011|223344556677885f5f5f5f5f 32 intel bt dword ptr [eax], 0x11
-0fba2011|223344556677885f5f5f5f5f 32 plan9 BTL $0x11, 0(AX)
-0fba2011|223344556677885f5f5f5f5f 64 gnu btl $0x11,(%rax)
-0fba2011|223344556677885f5f5f5f5f 64 intel bt dword ptr [rax], 0x11
-0fba2011|223344556677885f5f5f5f5f 64 plan9 BTL $0x11, 0(AX)
-0fba2811|223344556677885f5f5f5f5f 32 intel bts dword ptr [eax], 0x11
-0fba2811|223344556677885f5f5f5f5f 32 plan9 BTSL $0x11, 0(AX)
-0fba2811|223344556677885f5f5f5f5f 64 gnu btsl $0x11,(%rax)
-0fba2811|223344556677885f5f5f5f5f 64 intel bts dword ptr [rax], 0x11
-0fba2811|223344556677885f5f5f5f5f 64 plan9 BTSL $0x11, 0(AX)
-0fba3011|223344556677885f5f5f5f5f 32 intel btr dword ptr [eax], 0x11
-0fba3011|223344556677885f5f5f5f5f 32 plan9 BTRL $0x11, 0(AX)
-0fba3011|223344556677885f5f5f5f5f 64 gnu btrl $0x11,(%rax)
-0fba3011|223344556677885f5f5f5f5f 64 intel btr dword ptr [rax], 0x11
-0fba3011|223344556677885f5f5f5f5f 64 plan9 BTRL $0x11, 0(AX)
-0fba3811|223344556677885f5f5f5f5f 32 intel btc dword ptr [eax], 0x11
-0fba3811|223344556677885f5f5f5f5f 32 plan9 BTCL $0x11, 0(AX)
-0fba3811|223344556677885f5f5f5f5f 64 gnu btcl $0x11,(%rax)
-0fba3811|223344556677885f5f5f5f5f 64 intel btc dword ptr [rax], 0x11
-0fba3811|223344556677885f5f5f5f5f 64 plan9 BTCL $0x11, 0(AX)
-0fbb11|223344556677885f5f5f5f5f5f 32 intel btc dword ptr [ecx], edx
-0fbb11|223344556677885f5f5f5f5f5f 32 plan9 BTCL DX, 0(CX)
-0fbb11|223344556677885f5f5f5f5f5f 64 gnu btc %edx,(%rcx)
-0fbb11|223344556677885f5f5f5f5f5f 64 intel btc dword ptr [rcx], edx
-0fbb11|223344556677885f5f5f5f5f5f 64 plan9 BTCL DX, 0(CX)
-0fbc11|223344556677885f5f5f5f5f5f 32 intel bsf edx, dword ptr [ecx]
-0fbc11|223344556677885f5f5f5f5f5f 32 plan9 BSFL 0(CX), DX
-0fbc11|223344556677885f5f5f5f5f5f 64 gnu bsf (%rcx),%edx
-0fbc11|223344556677885f5f5f5f5f5f 64 intel bsf edx, dword ptr [rcx]
-0fbc11|223344556677885f5f5f5f5f5f 64 plan9 BSFL 0(CX), DX
-0fbd11|223344556677885f5f5f5f5f5f 32 intel bsr edx, dword ptr [ecx]
-0fbd11|223344556677885f5f5f5f5f5f 32 plan9 BSRL 0(CX), DX
-0fbd11|223344556677885f5f5f5f5f5f 64 gnu bsr (%rcx),%edx
-0fbd11|223344556677885f5f5f5f5f5f 64 intel bsr edx, dword ptr [rcx]
-0fbd11|223344556677885f5f5f5f5f5f 64 plan9 BSRL 0(CX), DX
-0fbe11|223344556677885f5f5f5f5f5f 32 intel movsx edx, byte ptr [ecx]
-0fbe11|223344556677885f5f5f5f5f5f 32 plan9 MOVSX 0(CX), DX
-0fbe11|223344556677885f5f5f5f5f5f 64 gnu movsbl (%rcx),%edx
-0fbe11|223344556677885f5f5f5f5f5f 64 intel movsx edx, byte ptr [rcx]
-0fbe11|223344556677885f5f5f5f5f5f 64 plan9 MOVSX 0(CX), DX
-0fbf11|223344556677885f5f5f5f5f5f 32 intel movsx edx, word ptr [ecx]
-0fbf11|223344556677885f5f5f5f5f5f 32 plan9 MOVSX 0(CX), DX
-0fbf11|223344556677885f5f5f5f5f5f 64 gnu movswl (%rcx),%edx
-0fbf11|223344556677885f5f5f5f5f5f 64 intel movsx edx, word ptr [rcx]
-0fbf11|223344556677885f5f5f5f5f5f 64 plan9 MOVSX 0(CX), DX
-0fc011|223344556677885f5f5f5f5f5f 32 intel xadd byte ptr [ecx], dl
-0fc011|223344556677885f5f5f5f5f5f 32 plan9 XADDB DL, 0(CX)
-0fc011|223344556677885f5f5f5f5f5f 64 gnu xadd %dl,(%rcx)
-0fc011|223344556677885f5f5f5f5f5f 64 intel xadd byte ptr [rcx], dl
-0fc011|223344556677885f5f5f5f5f5f 64 plan9 XADDB DL, 0(CX)
-0fc111|223344556677885f5f5f5f5f5f 32 intel xadd dword ptr [ecx], edx
-0fc111|223344556677885f5f5f5f5f5f 32 plan9 XADDL DX, 0(CX)
-0fc111|223344556677885f5f5f5f5f5f 64 gnu xadd %edx,(%rcx)
-0fc111|223344556677885f5f5f5f5f5f 64 intel xadd dword ptr [rcx], edx
-0fc111|223344556677885f5f5f5f5f5f 64 plan9 XADDL DX, 0(CX)
-0fc20000|11223344556677885f5f5f5f 32 intel cmpps xmm0, xmmword ptr [eax], 0x0
-0fc20000|11223344556677885f5f5f5f 32 plan9 CMPPS $0x0, 0(AX), X0
-0fc20000|11223344556677885f5f5f5f 64 gnu cmpeqps (%rax),%xmm0
-0fc20000|11223344556677885f5f5f5f 64 intel cmpps xmm0, xmmword ptr [rax], 0x0
-0fc20000|11223344556677885f5f5f5f 64 plan9 CMPPS $0x0, 0(AX), X0
-0fc311|223344556677885f5f5f5f5f5f 32 intel movnti dword ptr [ecx], edx
-0fc311|223344556677885f5f5f5f5f5f 32 plan9 MOVNTIL DX, 0(CX)
-0fc311|223344556677885f5f5f5f5f5f 64 gnu movnti %edx,(%rcx)
-0fc311|223344556677885f5f5f5f5f5f 64 intel movnti dword ptr [rcx], edx
-0fc311|223344556677885f5f5f5f5f5f 64 plan9 MOVNTIL DX, 0(CX)
-0fc41122|3344556677885f5f5f5f5f5f 32 intel pinsrw mmx2, word ptr [ecx], 0x22
-0fc41122|3344556677885f5f5f5f5f5f 32 plan9 PINSRW $0x22, 0(CX), M2
-0fc41122|3344556677885f5f5f5f5f5f 64 gnu pinsrw $0x22,(%rcx),%mm2
-0fc41122|3344556677885f5f5f5f5f5f 64 intel pinsrw mmx2, word ptr [rcx], 0x22
-0fc41122|3344556677885f5f5f5f5f5f 64 plan9 PINSRW $0x22, 0(CX), M2
-0fc51122|3344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0fc51122|3344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fc51122|3344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0fc51122|3344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0fc51122|3344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fc5c011|223344556677885f5f5f5f5f 32 intel pextrw eax, mmx0, 0x11
-0fc5c011|223344556677885f5f5f5f5f 32 plan9 PEXTRW $0x11, M0, AX
-0fc5c011|223344556677885f5f5f5f5f 64 gnu pextrw $0x11,%mm0,%eax
-0fc5c011|223344556677885f5f5f5f5f 64 intel pextrw eax, mmx0, 0x11
-0fc5c011|223344556677885f5f5f5f5f 64 plan9 PEXTRW $0x11, M0, AX
-0fc61122|3344556677885f5f5f5f5f5f 32 intel shufps xmm2, xmmword ptr [ecx], 0x22
-0fc61122|3344556677885f5f5f5f5f5f 32 plan9 SHUFPS $0x22, 0(CX), X2
-0fc61122|3344556677885f5f5f5f5f5f 64 gnu shufps $0x22,(%rcx),%xmm2
-0fc61122|3344556677885f5f5f5f5f5f 64 intel shufps xmm2, xmmword ptr [rcx], 0x22
-0fc61122|3344556677885f5f5f5f5f5f 64 plan9 SHUFPS $0x22, 0(CX), X2
-0fc708|11223344556677885f5f5f5f5f 32 intel cmpxchg8b qword ptr [eax]
-0fc708|11223344556677885f5f5f5f5f 32 plan9 CMPXCHG8B 0(AX)
-0fc708|11223344556677885f5f5f5f5f 64 gnu cmpxchg8b (%rax)
-0fc708|11223344556677885f5f5f5f5f 64 intel cmpxchg8b qword ptr [rax]
-0fc708|11223344556677885f5f5f5f5f 64 plan9 CMPXCHG8B 0(AX)
-0fc718|11223344556677885f5f5f5f5f 32 intel xrstors ptr [eax]
-0fc718|11223344556677885f5f5f5f5f 32 plan9 XRSTORS 0(AX)
-0fc718|11223344556677885f5f5f5f5f 64 gnu xrstors (%rax)
-0fc718|11223344556677885f5f5f5f5f 64 intel xrstors ptr [rax]
-0fc718|11223344556677885f5f5f5f5f 64 plan9 XRSTORS 0(AX)
-0fc720|11223344556677885f5f5f5f5f 32 intel xsavec ptr [eax]
-0fc720|11223344556677885f5f5f5f5f 32 plan9 XSAVEC 0(AX)
-0fc720|11223344556677885f5f5f5f5f 64 gnu xsavec (%rax)
-0fc720|11223344556677885f5f5f5f5f 64 intel xsavec ptr [rax]
-0fc720|11223344556677885f5f5f5f5f 64 plan9 XSAVEC 0(AX)
-0fc728|11223344556677885f5f5f5f5f 32 intel xsaves ptr [eax]
-0fc728|11223344556677885f5f5f5f5f 32 plan9 XSAVES 0(AX)
-0fc728|11223344556677885f5f5f5f5f 64 gnu xsaves (%rax)
-0fc728|11223344556677885f5f5f5f5f 64 intel xsaves ptr [rax]
-0fc728|11223344556677885f5f5f5f5f 64 plan9 XSAVES 0(AX)
-0fc730|11223344556677885f5f5f5f5f 32 intel error: unrecognized instruction
-0fc730|11223344556677885f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fc730|11223344556677885f5f5f5f5f 64 gnu error: unrecognized instruction
-0fc730|11223344556677885f5f5f5f5f 64 intel error: unrecognized instruction
-0fc730|11223344556677885f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fc7f0|11223344556677885f5f5f5f5f 32 intel rdrand eax
-0fc7f0|11223344556677885f5f5f5f5f 32 plan9 RDRAND AX
-0fc7f0|11223344556677885f5f5f5f5f 64 gnu rdrand %eax
-0fc7f0|11223344556677885f5f5f5f5f 64 intel rdrand eax
-0fc7f0|11223344556677885f5f5f5f5f 64 plan9 RDRAND AX
-0fc8|11223344556677885f5f5f5f5f5f 32 intel bswap eax
-0fc8|11223344556677885f5f5f5f5f5f 32 plan9 BSWAP AX
-0fc8|11223344556677885f5f5f5f5f5f 64 gnu bswap %eax
-0fc8|11223344556677885f5f5f5f5f5f 64 intel bswap eax
-0fc8|11223344556677885f5f5f5f5f5f 64 plan9 BSWAP AX
-0fd0|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0fd0|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fd0|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0fd0|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0fd0|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fd111|223344556677885f5f5f5f5f5f 32 intel psrlw mmx2, qword ptr [ecx]
-0fd111|223344556677885f5f5f5f5f5f 32 plan9 PSRLW 0(CX), M2
-0fd111|223344556677885f5f5f5f5f5f 64 gnu psrlw (%rcx),%mm2
-0fd111|223344556677885f5f5f5f5f5f 64 intel psrlw mmx2, qword ptr [rcx]
-0fd111|223344556677885f5f5f5f5f5f 64 plan9 PSRLW 0(CX), M2
-0fd211|223344556677885f5f5f5f5f5f 32 intel psrld mmx2, qword ptr [ecx]
-0fd211|223344556677885f5f5f5f5f5f 32 plan9 PSRLD 0(CX), M2
-0fd211|223344556677885f5f5f5f5f5f 64 gnu psrld (%rcx),%mm2
-0fd211|223344556677885f5f5f5f5f5f 64 intel psrld mmx2, qword ptr [rcx]
-0fd211|223344556677885f5f5f5f5f5f 64 plan9 PSRLD 0(CX), M2
-0fd311|223344556677885f5f5f5f5f5f 32 intel psrlq mmx2, qword ptr [ecx]
-0fd311|223344556677885f5f5f5f5f5f 32 plan9 PSRLQ 0(CX), M2
-0fd311|223344556677885f5f5f5f5f5f 64 gnu psrlq (%rcx),%mm2
-0fd311|223344556677885f5f5f5f5f5f 64 intel psrlq mmx2, qword ptr [rcx]
-0fd311|223344556677885f5f5f5f5f5f 64 plan9 PSRLQ 0(CX), M2
-0fd411|223344556677885f5f5f5f5f5f 32 intel paddq mmx2, qword ptr [ecx]
-0fd411|223344556677885f5f5f5f5f5f 32 plan9 PADDQ 0(CX), M2
-0fd411|223344556677885f5f5f5f5f5f 64 gnu paddq (%rcx),%mm2
-0fd411|223344556677885f5f5f5f5f5f 64 intel paddq mmx2, qword ptr [rcx]
-0fd411|223344556677885f5f5f5f5f5f 64 plan9 PADDQ 0(CX), M2
-0fd511|223344556677885f5f5f5f5f5f 32 intel pmullw mmx2, qword ptr [ecx]
-0fd511|223344556677885f5f5f5f5f5f 32 plan9 PMULLW 0(CX), M2
-0fd511|223344556677885f5f5f5f5f5f 64 gnu pmullw (%rcx),%mm2
-0fd511|223344556677885f5f5f5f5f5f 64 intel pmullw mmx2, qword ptr [rcx]
-0fd511|223344556677885f5f5f5f5f5f 64 plan9 PMULLW 0(CX), M2
-0fd6|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0fd6|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fd6|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0fd6|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0fd6|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fd711|223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0fd711|223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fd711|223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0fd711|223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0fd711|223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fd7c0|11223344556677885f5f5f5f5f 32 intel pmovmskb eax, mmx0
-0fd7c0|11223344556677885f5f5f5f5f 32 plan9 PMOVMSKB M0, AX
-0fd7c0|11223344556677885f5f5f5f5f 64 gnu pmovmskb %mm0,%eax
-0fd7c0|11223344556677885f5f5f5f5f 64 intel pmovmskb eax, mmx0
-0fd7c0|11223344556677885f5f5f5f5f 64 plan9 PMOVMSKB M0, AX
-0fd811|223344556677885f5f5f5f5f5f 32 intel psubusb mmx2, qword ptr [ecx]
-0fd811|223344556677885f5f5f5f5f5f 32 plan9 PSUBUSB 0(CX), M2
-0fd811|223344556677885f5f5f5f5f5f 64 gnu psubusb (%rcx),%mm2
-0fd811|223344556677885f5f5f5f5f5f 64 intel psubusb mmx2, qword ptr [rcx]
-0fd811|223344556677885f5f5f5f5f5f 64 plan9 PSUBUSB 0(CX), M2
-0fd911|223344556677885f5f5f5f5f5f 32 intel psubusw mmx2, qword ptr [ecx]
-0fd911|223344556677885f5f5f5f5f5f 32 plan9 PSUBUSW 0(CX), M2
-0fd911|223344556677885f5f5f5f5f5f 64 gnu psubusw (%rcx),%mm2
-0fd911|223344556677885f5f5f5f5f5f 64 intel psubusw mmx2, qword ptr [rcx]
-0fd911|223344556677885f5f5f5f5f5f 64 plan9 PSUBUSW 0(CX), M2
-0fda11|223344556677885f5f5f5f5f5f 32 intel pminub mmx2, qword ptr [ecx]
-0fda11|223344556677885f5f5f5f5f5f 32 plan9 PMINUB 0(CX), M2
-0fda11|223344556677885f5f5f5f5f5f 64 gnu pminub (%rcx),%mm2
-0fda11|223344556677885f5f5f5f5f5f 64 intel pminub mmx2, qword ptr [rcx]
-0fda11|223344556677885f5f5f5f5f5f 64 plan9 PMINUB 0(CX), M2
-0fdb11|223344556677885f5f5f5f5f5f 32 intel pand mmx2, qword ptr [ecx]
-0fdb11|223344556677885f5f5f5f5f5f 32 plan9 PAND 0(CX), M2
-0fdb11|223344556677885f5f5f5f5f5f 64 gnu pand (%rcx),%mm2
-0fdb11|223344556677885f5f5f5f5f5f 64 intel pand mmx2, qword ptr [rcx]
-0fdb11|223344556677885f5f5f5f5f5f 64 plan9 PAND 0(CX), M2
-0fdc11|223344556677885f5f5f5f5f5f 32 intel paddusb mmx2, qword ptr [ecx]
-0fdc11|223344556677885f5f5f5f5f5f 32 plan9 PADDUSB 0(CX), M2
-0fdc11|223344556677885f5f5f5f5f5f 64 gnu paddusb (%rcx),%mm2
-0fdc11|223344556677885f5f5f5f5f5f 64 intel paddusb mmx2, qword ptr [rcx]
-0fdc11|223344556677885f5f5f5f5f5f 64 plan9 PADDUSB 0(CX), M2
-0fdd11|223344556677885f5f5f5f5f5f 32 intel paddusw mmx2, qword ptr [ecx]
-0fdd11|223344556677885f5f5f5f5f5f 32 plan9 PADDUSW 0(CX), M2
-0fdd11|223344556677885f5f5f5f5f5f 64 gnu paddusw (%rcx),%mm2
-0fdd11|223344556677885f5f5f5f5f5f 64 intel paddusw mmx2, qword ptr [rcx]
-0fdd11|223344556677885f5f5f5f5f5f 64 plan9 PADDUSW 0(CX), M2
-0fde11|223344556677885f5f5f5f5f5f 32 intel pmaxub mmx2, qword ptr [ecx]
-0fde11|223344556677885f5f5f5f5f5f 32 plan9 PMAXUB 0(CX), M2
-0fde11|223344556677885f5f5f5f5f5f 64 gnu pmaxub (%rcx),%mm2
-0fde11|223344556677885f5f5f5f5f5f 64 intel pmaxub mmx2, qword ptr [rcx]
-0fde11|223344556677885f5f5f5f5f5f 64 plan9 PMAXUB 0(CX), M2
-0fdf11|223344556677885f5f5f5f5f5f 32 intel pandn mmx2, qword ptr [ecx]
-0fdf11|223344556677885f5f5f5f5f5f 32 plan9 PANDN 0(CX), M2
-0fdf11|223344556677885f5f5f5f5f5f 64 gnu pandn (%rcx),%mm2
-0fdf11|223344556677885f5f5f5f5f5f 64 intel pandn mmx2, qword ptr [rcx]
-0fdf11|223344556677885f5f5f5f5f5f 64 plan9 PANDN 0(CX), M2
-0fe011|223344556677885f5f5f5f5f5f 32 intel pavgb mmx2, qword ptr [ecx]
-0fe011|223344556677885f5f5f5f5f5f 32 plan9 PAVGB 0(CX), M2
-0fe011|223344556677885f5f5f5f5f5f 64 gnu pavgb (%rcx),%mm2
-0fe011|223344556677885f5f5f5f5f5f 64 intel pavgb mmx2, qword ptr [rcx]
-0fe011|223344556677885f5f5f5f5f5f 64 plan9 PAVGB 0(CX), M2
-0fe111|223344556677885f5f5f5f5f5f 32 intel psraw mmx2, qword ptr [ecx]
-0fe111|223344556677885f5f5f5f5f5f 32 plan9 PSRAW 0(CX), M2
-0fe111|223344556677885f5f5f5f5f5f 64 gnu psraw (%rcx),%mm2
-0fe111|223344556677885f5f5f5f5f5f 64 intel psraw mmx2, qword ptr [rcx]
-0fe111|223344556677885f5f5f5f5f5f 64 plan9 PSRAW 0(CX), M2
-0fe211|223344556677885f5f5f5f5f5f 32 intel psrad mmx2, qword ptr [ecx]
-0fe211|223344556677885f5f5f5f5f5f 32 plan9 PSRAD 0(CX), M2
-0fe211|223344556677885f5f5f5f5f5f 64 gnu psrad (%rcx),%mm2
-0fe211|223344556677885f5f5f5f5f5f 64 intel psrad mmx2, qword ptr [rcx]
-0fe211|223344556677885f5f5f5f5f5f 64 plan9 PSRAD 0(CX), M2
-0fe311|223344556677885f5f5f5f5f5f 32 intel pavgw mmx2, qword ptr [ecx]
-0fe311|223344556677885f5f5f5f5f5f 32 plan9 PAVGW 0(CX), M2
-0fe311|223344556677885f5f5f5f5f5f 64 gnu pavgw (%rcx),%mm2
-0fe311|223344556677885f5f5f5f5f5f 64 intel pavgw mmx2, qword ptr [rcx]
-0fe311|223344556677885f5f5f5f5f5f 64 plan9 PAVGW 0(CX), M2
-0fe411|223344556677885f5f5f5f5f5f 32 intel pmulhuw mmx2, qword ptr [ecx]
-0fe411|223344556677885f5f5f5f5f5f 32 plan9 PMULHUW 0(CX), M2
-0fe411|223344556677885f5f5f5f5f5f 64 gnu pmulhuw (%rcx),%mm2
-0fe411|223344556677885f5f5f5f5f5f 64 intel pmulhuw mmx2, qword ptr [rcx]
-0fe411|223344556677885f5f5f5f5f5f 64 plan9 PMULHUW 0(CX), M2
-0fe511|223344556677885f5f5f5f5f5f 32 intel pmulhw mmx2, qword ptr [ecx]
-0fe511|223344556677885f5f5f5f5f5f 32 plan9 PMULHW 0(CX), M2
-0fe511|223344556677885f5f5f5f5f5f 64 gnu pmulhw (%rcx),%mm2
-0fe511|223344556677885f5f5f5f5f5f 64 intel pmulhw mmx2, qword ptr [rcx]
-0fe511|223344556677885f5f5f5f5f5f 64 plan9 PMULHW 0(CX), M2
-0fe6|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0fe6|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0fe6|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0fe6|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0fe6|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0fe711|223344556677885f5f5f5f5f5f 32 intel movntq qword ptr [ecx], mmx2
-0fe711|223344556677885f5f5f5f5f5f 32 plan9 MOVNTQ M2, 0(CX)
-0fe711|223344556677885f5f5f5f5f5f 64 gnu movntq %mm2,(%rcx)
-0fe711|223344556677885f5f5f5f5f5f 64 intel movntq qword ptr [rcx], mmx2
-0fe711|223344556677885f5f5f5f5f5f 64 plan9 MOVNTQ M2, 0(CX)
-0fe811|223344556677885f5f5f5f5f5f 32 intel psubsb mmx2, qword ptr [ecx]
-0fe811|223344556677885f5f5f5f5f5f 32 plan9 PSUBSB 0(CX), M2
-0fe811|223344556677885f5f5f5f5f5f 64 gnu psubsb (%rcx),%mm2
-0fe811|223344556677885f5f5f5f5f5f 64 intel psubsb mmx2, qword ptr [rcx]
-0fe811|223344556677885f5f5f5f5f5f 64 plan9 PSUBSB 0(CX), M2
-0fe911|223344556677885f5f5f5f5f5f 32 intel psubsw mmx2, qword ptr [ecx]
-0fe911|223344556677885f5f5f5f5f5f 32 plan9 PSUBSW 0(CX), M2
-0fe911|223344556677885f5f5f5f5f5f 64 gnu psubsw (%rcx),%mm2
-0fe911|223344556677885f5f5f5f5f5f 64 intel psubsw mmx2, qword ptr [rcx]
-0fe911|223344556677885f5f5f5f5f5f 64 plan9 PSUBSW 0(CX), M2
-0fea11|223344556677885f5f5f5f5f5f 32 intel pminsw mmx2, qword ptr [ecx]
-0fea11|223344556677885f5f5f5f5f5f 32 plan9 PMINSW 0(CX), M2
-0fea11|223344556677885f5f5f5f5f5f 64 gnu pminsw (%rcx),%mm2
-0fea11|223344556677885f5f5f5f5f5f 64 intel pminsw mmx2, qword ptr [rcx]
-0fea11|223344556677885f5f5f5f5f5f 64 plan9 PMINSW 0(CX), M2
-0feb11|223344556677885f5f5f5f5f5f 32 intel por mmx2, qword ptr [ecx]
-0feb11|223344556677885f5f5f5f5f5f 32 plan9 POR 0(CX), M2
-0feb11|223344556677885f5f5f5f5f5f 64 gnu por (%rcx),%mm2
-0feb11|223344556677885f5f5f5f5f5f 64 intel por mmx2, qword ptr [rcx]
-0feb11|223344556677885f5f5f5f5f5f 64 plan9 POR 0(CX), M2
-0fec11|223344556677885f5f5f5f5f5f 32 intel paddsb mmx2, qword ptr [ecx]
-0fec11|223344556677885f5f5f5f5f5f 32 plan9 PADDSB 0(CX), M2
-0fec11|223344556677885f5f5f5f5f5f 64 gnu paddsb (%rcx),%mm2
-0fec11|223344556677885f5f5f5f5f5f 64 intel paddsb mmx2, qword ptr [rcx]
-0fec11|223344556677885f5f5f5f5f5f 64 plan9 PADDSB 0(CX), M2
-0fed11|223344556677885f5f5f5f5f5f 32 intel paddsw mmx2, qword ptr [ecx]
-0fed11|223344556677885f5f5f5f5f5f 32 plan9 PADDSW 0(CX), M2
-0fed11|223344556677885f5f5f5f5f5f 64 gnu paddsw (%rcx),%mm2
-0fed11|223344556677885f5f5f5f5f5f 64 intel paddsw mmx2, qword ptr [rcx]
-0fed11|223344556677885f5f5f5f5f5f 64 plan9 PADDSW 0(CX), M2
-0fee11|223344556677885f5f5f5f5f5f 32 intel pmaxsw mmx2, qword ptr [ecx]
-0fee11|223344556677885f5f5f5f5f5f 32 plan9 PMAXSW 0(CX), M2
-0fee11|223344556677885f5f5f5f5f5f 64 gnu pmaxsw (%rcx),%mm2
-0fee11|223344556677885f5f5f5f5f5f 64 intel pmaxsw mmx2, qword ptr [rcx]
-0fee11|223344556677885f5f5f5f5f5f 64 plan9 PMAXSW 0(CX), M2
-0fef11|223344556677885f5f5f5f5f5f 32 intel pxor mmx2, qword ptr [ecx]
-0fef11|223344556677885f5f5f5f5f5f 32 plan9 PXOR 0(CX), M2
-0fef11|223344556677885f5f5f5f5f5f 64 gnu pxor (%rcx),%mm2
-0fef11|223344556677885f5f5f5f5f5f 64 intel pxor mmx2, qword ptr [rcx]
-0fef11|223344556677885f5f5f5f5f5f 64 plan9 PXOR 0(CX), M2
-0ff0|11223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0ff0|11223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0ff0|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0ff0|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0ff0|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0ff111|223344556677885f5f5f5f5f5f 32 intel psllw mmx2, qword ptr [ecx]
-0ff111|223344556677885f5f5f5f5f5f 32 plan9 PSLLW 0(CX), M2
-0ff111|223344556677885f5f5f5f5f5f 64 gnu psllw (%rcx),%mm2
-0ff111|223344556677885f5f5f5f5f5f 64 intel psllw mmx2, qword ptr [rcx]
-0ff111|223344556677885f5f5f5f5f5f 64 plan9 PSLLW 0(CX), M2
-0ff211|223344556677885f5f5f5f5f5f 32 intel pslld mmx2, qword ptr [ecx]
-0ff211|223344556677885f5f5f5f5f5f 32 plan9 PSLLD 0(CX), M2
-0ff211|223344556677885f5f5f5f5f5f 64 gnu pslld (%rcx),%mm2
-0ff211|223344556677885f5f5f5f5f5f 64 intel pslld mmx2, qword ptr [rcx]
-0ff211|223344556677885f5f5f5f5f5f 64 plan9 PSLLD 0(CX), M2
-0ff311|223344556677885f5f5f5f5f5f 32 intel psllq mmx2, qword ptr [ecx]
-0ff311|223344556677885f5f5f5f5f5f 32 plan9 PSLLQ 0(CX), M2
-0ff311|223344556677885f5f5f5f5f5f 64 gnu psllq (%rcx),%mm2
-0ff311|223344556677885f5f5f5f5f5f 64 intel psllq mmx2, qword ptr [rcx]
-0ff311|223344556677885f5f5f5f5f5f 64 plan9 PSLLQ 0(CX), M2
-0ff411|223344556677885f5f5f5f5f5f 32 intel pmuludq mmx2, qword ptr [ecx]
-0ff411|223344556677885f5f5f5f5f5f 32 plan9 PMULUDQ 0(CX), M2
-0ff411|223344556677885f5f5f5f5f5f 64 gnu pmuludq (%rcx),%mm2
-0ff411|223344556677885f5f5f5f5f5f 64 intel pmuludq mmx2, qword ptr [rcx]
-0ff411|223344556677885f5f5f5f5f5f 64 plan9 PMULUDQ 0(CX), M2
-0ff511|223344556677885f5f5f5f5f5f 32 intel pmaddwd mmx2, qword ptr [ecx]
-0ff511|223344556677885f5f5f5f5f5f 32 plan9 PMADDWD 0(CX), M2
-0ff511|223344556677885f5f5f5f5f5f 64 gnu pmaddwd (%rcx),%mm2
-0ff511|223344556677885f5f5f5f5f5f 64 intel pmaddwd mmx2, qword ptr [rcx]
-0ff511|223344556677885f5f5f5f5f5f 64 plan9 PMADDWD 0(CX), M2
-0ff611|223344556677885f5f5f5f5f5f 32 intel psadbw mmx2, qword ptr [ecx]
-0ff611|223344556677885f5f5f5f5f5f 32 plan9 PSADBW 0(CX), M2
-0ff611|223344556677885f5f5f5f5f5f 64 gnu psadbw (%rcx),%mm2
-0ff611|223344556677885f5f5f5f5f5f 64 intel psadbw mmx2, qword ptr [rcx]
-0ff611|223344556677885f5f5f5f5f5f 64 plan9 PSADBW 0(CX), M2
-0ff711|223344556677885f5f5f5f5f5f 32 intel error: unrecognized instruction
-0ff711|223344556677885f5f5f5f5f5f 32 plan9 error: unrecognized instruction
-0ff711|223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-0ff711|223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-0ff711|223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-0ff7c0|11223344556677885f5f5f5f5f 32 intel maskmovq mmx0, mmx0
-0ff7c0|11223344556677885f5f5f5f5f 32 plan9 MASKMOVQ M0, M0
-0ff7c0|11223344556677885f5f5f5f5f 64 gnu maskmovq %mm0,%mm0
-0ff7c0|11223344556677885f5f5f5f5f 64 intel maskmovq mmx0, mmx0
-0ff7c0|11223344556677885f5f5f5f5f 64 plan9 MASKMOVQ M0, M0
-0ff811|223344556677885f5f5f5f5f5f 32 intel psubb mmx2, qword ptr [ecx]
-0ff811|223344556677885f5f5f5f5f5f 32 plan9 PSUBB 0(CX), M2
-0ff811|223344556677885f5f5f5f5f5f 64 gnu psubb (%rcx),%mm2
-0ff811|223344556677885f5f5f5f5f5f 64 intel psubb mmx2, qword ptr [rcx]
-0ff811|223344556677885f5f5f5f5f5f 64 plan9 PSUBB 0(CX), M2
-0ff911|223344556677885f5f5f5f5f5f 32 intel psubw mmx2, qword ptr [ecx]
-0ff911|223344556677885f5f5f5f5f5f 32 plan9 PSUBW 0(CX), M2
-0ff911|223344556677885f5f5f5f5f5f 64 gnu psubw (%rcx),%mm2
-0ff911|223344556677885f5f5f5f5f5f 64 intel psubw mmx2, qword ptr [rcx]
-0ff911|223344556677885f5f5f5f5f5f 64 plan9 PSUBW 0(CX), M2
-0ffa11|223344556677885f5f5f5f5f5f 32 intel psubd mmx2, qword ptr [ecx]
-0ffa11|223344556677885f5f5f5f5f5f 32 plan9 PSUBD 0(CX), M2
-0ffa11|223344556677885f5f5f5f5f5f 64 gnu psubd (%rcx),%mm2
-0ffa11|223344556677885f5f5f5f5f5f 64 intel psubd mmx2, qword ptr [rcx]
-0ffa11|223344556677885f5f5f5f5f5f 64 plan9 PSUBD 0(CX), M2
-0ffb11|223344556677885f5f5f5f5f5f 32 intel psubq mmx2, qword ptr [ecx]
-0ffb11|223344556677885f5f5f5f5f5f 32 plan9 PSUBQ 0(CX), M2
-0ffb11|223344556677885f5f5f5f5f5f 64 gnu psubq (%rcx),%mm2
-0ffb11|223344556677885f5f5f5f5f5f 64 intel psubq mmx2, qword ptr [rcx]
-0ffb11|223344556677885f5f5f5f5f5f 64 plan9 PSUBQ 0(CX), M2
-0ffc11|223344556677885f5f5f5f5f5f 32 intel paddb mmx2, qword ptr [ecx]
-0ffc11|223344556677885f5f5f5f5f5f 32 plan9 PADDB 0(CX), M2
-0ffc11|223344556677885f5f5f5f5f5f 64 gnu paddb (%rcx),%mm2
-0ffc11|223344556677885f5f5f5f5f5f 64 intel paddb mmx2, qword ptr [rcx]
-0ffc11|223344556677885f5f5f5f5f5f 64 plan9 PADDB 0(CX), M2
-0ffd11|223344556677885f5f5f5f5f5f 32 intel paddw mmx2, qword ptr [ecx]
-0ffd11|223344556677885f5f5f5f5f5f 32 plan9 PADDW 0(CX), M2
-0ffd11|223344556677885f5f5f5f5f5f 64 gnu paddw (%rcx),%mm2
-0ffd11|223344556677885f5f5f5f5f5f 64 intel paddw mmx2, qword ptr [rcx]
-0ffd11|223344556677885f5f5f5f5f5f 64 plan9 PADDW 0(CX), M2
-0ffe11|223344556677885f5f5f5f5f5f 32 intel paddd mmx2, qword ptr [ecx]
-0ffe11|223344556677885f5f5f5f5f5f 32 plan9 PADDD 0(CX), M2
-0ffe11|223344556677885f5f5f5f5f5f 64 gnu paddd (%rcx),%mm2
-0ffe11|223344556677885f5f5f5f5f5f 64 intel paddd mmx2, qword ptr [rcx]
-0ffe11|223344556677885f5f5f5f5f5f 64 plan9 PADDD 0(CX), M2
-1011|223344556677885f5f5f5f5f5f5f 32 intel adc byte ptr [ecx], dl
-1011|223344556677885f5f5f5f5f5f5f 32 plan9 ADCB DL, 0(CX)
-1011|223344556677885f5f5f5f5f5f5f 64 gnu adc %dl,(%rcx)
-1011|223344556677885f5f5f5f5f5f5f 64 intel adc byte ptr [rcx], dl
-1011|223344556677885f5f5f5f5f5f5f 64 plan9 ADCB DL, 0(CX)
-1111|223344556677885f5f5f5f5f5f5f 32 intel adc dword ptr [ecx], edx
-1111|223344556677885f5f5f5f5f5f5f 32 plan9 ADCL DX, 0(CX)
-1111|223344556677885f5f5f5f5f5f5f 64 gnu adc %edx,(%rcx)
-1111|223344556677885f5f5f5f5f5f5f 64 intel adc dword ptr [rcx], edx
-1111|223344556677885f5f5f5f5f5f5f 64 plan9 ADCL DX, 0(CX)
-1211|223344556677885f5f5f5f5f5f5f 32 intel adc dl, byte ptr [ecx]
-1211|223344556677885f5f5f5f5f5f5f 32 plan9 ADCB 0(CX), DL
-1211|223344556677885f5f5f5f5f5f5f 64 gnu adc (%rcx),%dl
-1211|223344556677885f5f5f5f5f5f5f 64 intel adc dl, byte ptr [rcx]
-1211|223344556677885f5f5f5f5f5f5f 64 plan9 ADCB 0(CX), DL
-1311|223344556677885f5f5f5f5f5f5f 32 intel adc edx, dword ptr [ecx]
-1311|223344556677885f5f5f5f5f5f5f 32 plan9 ADCL 0(CX), DX
-1311|223344556677885f5f5f5f5f5f5f 64 gnu adc (%rcx),%edx
-1311|223344556677885f5f5f5f5f5f5f 64 intel adc edx, dword ptr [rcx]
-1311|223344556677885f5f5f5f5f5f5f 64 plan9 ADCL 0(CX), DX
-1411|223344556677885f5f5f5f5f5f5f 32 intel adc al, 0x11
-1411|223344556677885f5f5f5f5f5f5f 32 plan9 ADCL $0x11, AL
-1411|223344556677885f5f5f5f5f5f5f 64 gnu adc $0x11,%al
-1411|223344556677885f5f5f5f5f5f5f 64 intel adc al, 0x11
-1411|223344556677885f5f5f5f5f5f5f 64 plan9 ADCL $0x11, AL
-1511223344|556677885f5f5f5f5f5f5f 32 intel adc eax, 0x44332211
-1511223344|556677885f5f5f5f5f5f5f 32 plan9 ADCL $0x44332211, AX
-1511223344|556677885f5f5f5f5f5f5f 64 gnu adc $0x44332211,%eax
-1511223344|556677885f5f5f5f5f5f5f 64 intel adc eax, 0x44332211
-1511223344|556677885f5f5f5f5f5f5f 64 plan9 ADCL $0x44332211, AX
-16|11223344556677885f5f5f5f5f5f5f 32 intel push ss
-16|11223344556677885f5f5f5f5f5f5f 32 plan9 PUSHL SS
-16|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-16|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-16|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-17|11223344556677885f5f5f5f5f5f5f 32 intel pop ss
-17|11223344556677885f5f5f5f5f5f5f 32 plan9 POPL SS
-17|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-17|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-17|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-1811|223344556677885f5f5f5f5f5f5f 32 intel sbb byte ptr [ecx], dl
-1811|223344556677885f5f5f5f5f5f5f 32 plan9 SBBB DL, 0(CX)
-1811|223344556677885f5f5f5f5f5f5f 64 gnu sbb %dl,(%rcx)
-1811|223344556677885f5f5f5f5f5f5f 64 intel sbb byte ptr [rcx], dl
-1811|223344556677885f5f5f5f5f5f5f 64 plan9 SBBB DL, 0(CX)
-1911|223344556677885f5f5f5f5f5f5f 32 intel sbb dword ptr [ecx], edx
-1911|223344556677885f5f5f5f5f5f5f 32 plan9 SBBL DX, 0(CX)
-1911|223344556677885f5f5f5f5f5f5f 64 gnu sbb %edx,(%rcx)
-1911|223344556677885f5f5f5f5f5f5f 64 intel sbb dword ptr [rcx], edx
-1911|223344556677885f5f5f5f5f5f5f 64 plan9 SBBL DX, 0(CX)
-1a11|223344556677885f5f5f5f5f5f5f 32 intel sbb dl, byte ptr [ecx]
-1a11|223344556677885f5f5f5f5f5f5f 32 plan9 SBBB 0(CX), DL
-1a11|223344556677885f5f5f5f5f5f5f 64 gnu sbb (%rcx),%dl
-1a11|223344556677885f5f5f5f5f5f5f 64 intel sbb dl, byte ptr [rcx]
-1a11|223344556677885f5f5f5f5f5f5f 64 plan9 SBBB 0(CX), DL
-1b11|223344556677885f5f5f5f5f5f5f 32 intel sbb edx, dword ptr [ecx]
-1b11|223344556677885f5f5f5f5f5f5f 32 plan9 SBBL 0(CX), DX
-1b11|223344556677885f5f5f5f5f5f5f 64 gnu sbb (%rcx),%edx
-1b11|223344556677885f5f5f5f5f5f5f 64 intel sbb edx, dword ptr [rcx]
-1b11|223344556677885f5f5f5f5f5f5f 64 plan9 SBBL 0(CX), DX
-1c11|223344556677885f5f5f5f5f5f5f 32 intel sbb al, 0x11
-1c11|223344556677885f5f5f5f5f5f5f 32 plan9 SBBL $0x11, AL
-1c11|223344556677885f5f5f5f5f5f5f 64 gnu sbb $0x11,%al
-1c11|223344556677885f5f5f5f5f5f5f 64 intel sbb al, 0x11
-1c11|223344556677885f5f5f5f5f5f5f 64 plan9 SBBL $0x11, AL
-1d11223344|556677885f5f5f5f5f5f5f 32 intel sbb eax, 0x44332211
-1d11223344|556677885f5f5f5f5f5f5f 32 plan9 SBBL $0x44332211, AX
-1d11223344|556677885f5f5f5f5f5f5f 64 gnu sbb $0x44332211,%eax
-1d11223344|556677885f5f5f5f5f5f5f 64 intel sbb eax, 0x44332211
-1d11223344|556677885f5f5f5f5f5f5f 64 plan9 SBBL $0x44332211, AX
-1e|11223344556677885f5f5f5f5f5f5f 32 intel push ds
-1e|11223344556677885f5f5f5f5f5f5f 32 plan9 PUSHL DS
-1e|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-1e|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-1e|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-1f|11223344556677885f5f5f5f5f5f5f 32 intel pop ds
-1f|11223344556677885f5f5f5f5f5f5f 32 plan9 POPL DS
-1f|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-1f|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-1f|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-2011|223344556677885f5f5f5f5f5f5f 32 intel and byte ptr [ecx], dl
-2011|223344556677885f5f5f5f5f5f5f 32 plan9 ANDB DL, 0(CX)
-2011|223344556677885f5f5f5f5f5f5f 64 gnu and %dl,(%rcx)
-2011|223344556677885f5f5f5f5f5f5f 64 intel and byte ptr [rcx], dl
-2011|223344556677885f5f5f5f5f5f5f 64 plan9 ANDB DL, 0(CX)
-2111|223344556677885f5f5f5f5f5f5f 32 intel and dword ptr [ecx], edx
-2111|223344556677885f5f5f5f5f5f5f 32 plan9 ANDL DX, 0(CX)
-2111|223344556677885f5f5f5f5f5f5f 64 gnu and %edx,(%rcx)
-2111|223344556677885f5f5f5f5f5f5f 64 intel and dword ptr [rcx], edx
-2111|223344556677885f5f5f5f5f5f5f 64 plan9 ANDL DX, 0(CX)
-2211|223344556677885f5f5f5f5f5f5f 32 intel and dl, byte ptr [ecx]
-2211|223344556677885f5f5f5f5f5f5f 32 plan9 ANDB 0(CX), DL
-2211|223344556677885f5f5f5f5f5f5f 64 gnu and (%rcx),%dl
-2211|223344556677885f5f5f5f5f5f5f 64 intel and dl, byte ptr [rcx]
-2211|223344556677885f5f5f5f5f5f5f 64 plan9 ANDB 0(CX), DL
-2311|223344556677885f5f5f5f5f5f5f 32 intel and edx, dword ptr [ecx]
-2311|223344556677885f5f5f5f5f5f5f 32 plan9 ANDL 0(CX), DX
-2311|223344556677885f5f5f5f5f5f5f 64 gnu and (%rcx),%edx
-2311|223344556677885f5f5f5f5f5f5f 64 intel and edx, dword ptr [rcx]
-2311|223344556677885f5f5f5f5f5f5f 64 plan9 ANDL 0(CX), DX
-2411|223344556677885f5f5f5f5f5f5f 32 intel and al, 0x11
-2411|223344556677885f5f5f5f5f5f5f 32 plan9 ANDL $0x11, AL
-2411|223344556677885f5f5f5f5f5f5f 64 gnu and $0x11,%al
-2411|223344556677885f5f5f5f5f5f5f 64 intel and al, 0x11
-2411|223344556677885f5f5f5f5f5f5f 64 plan9 ANDL $0x11, AL
-2511223344|556677885f5f5f5f5f5f5f 32 intel and eax, 0x44332211
-2511223344|556677885f5f5f5f5f5f5f 32 plan9 ANDL $0x44332211, AX
-2511223344|556677885f5f5f5f5f5f5f 64 gnu and $0x44332211,%eax
-2511223344|556677885f5f5f5f5f5f5f 64 intel and eax, 0x44332211
-2511223344|556677885f5f5f5f5f5f5f 64 plan9 ANDL $0x44332211, AX
-266e|11223344556677885f5f5f5f5f5f 32 intel outsb es
-266e|11223344556677885f5f5f5f5f5f 32 plan9 OUTSB ES:0(SI), DX
-266e|11223344556677885f5f5f5f5f5f 64 gnu outsb %ds:%es:(%rsi),(%dx)
-266e|11223344556677885f5f5f5f5f5f 64 intel outsb
-266e|11223344556677885f5f5f5f5f5f 64 plan9 ES OUTSB DS:0(SI), DX
-267011|223344556677885f5f5f5f5f5f 32 intel jo .+0x11
-267011|223344556677885f5f5f5f5f5f 32 plan9 ES JO .+17
-267011|223344556677885f5f5f5f5f5f 64 gnu es jo .+0x11
-267011|223344556677885f5f5f5f5f5f 64 intel jo .+0x11
-267011|223344556677885f5f5f5f5f5f 64 plan9 ES JO .+17
-26a01122334455667788|5f5f5f5f5f5f 64 gnu mov %es:-0x778899aabbccddef,%al
-26a01122334455667788|5f5f5f5f5f5f 64 intel mov al, byte ptr [0x8877665544332211]
-26a01122334455667788|5f5f5f5f5f5f 64 plan9 ES MOVB -0x778899aabbccddef, AL
-26a011223344|556677885f5f5f5f5f5f 32 intel mov al, byte ptr es:[0x44332211]
-26a011223344|556677885f5f5f5f5f5f 32 plan9 MOVB ES:0x44332211, AL
-26|8211223344556677885f5f5f5f5f5f 32 intel es
-26|8211223344556677885f5f5f5f5f5f 32 plan9 ES Op(0)
-26|8211223344556677885f5f5f5f5f5f 64 gnu es
-26|8211223344556677885f5f5f5f5f5f 64 intel es
-26|8211223344556677885f5f5f5f5f5f 64 plan9 ES Op(0)
-27|11223344556677885f5f5f5f5f5f5f 32 intel daa
-27|11223344556677885f5f5f5f5f5f5f 32 plan9 DAA
-27|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-27|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-27|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-2811|223344556677885f5f5f5f5f5f5f 32 intel sub byte ptr [ecx], dl
-2811|223344556677885f5f5f5f5f5f5f 32 plan9 SUBB DL, 0(CX)
-2811|223344556677885f5f5f5f5f5f5f 64 gnu sub %dl,(%rcx)
-2811|223344556677885f5f5f5f5f5f5f 64 intel sub byte ptr [rcx], dl
-2811|223344556677885f5f5f5f5f5f5f 64 plan9 SUBB DL, 0(CX)
-2911|223344556677885f5f5f5f5f5f5f 32 intel sub dword ptr [ecx], edx
-2911|223344556677885f5f5f5f5f5f5f 32 plan9 SUBL DX, 0(CX)
-2911|223344556677885f5f5f5f5f5f5f 64 gnu sub %edx,(%rcx)
-2911|223344556677885f5f5f5f5f5f5f 64 intel sub dword ptr [rcx], edx
-2911|223344556677885f5f5f5f5f5f5f 64 plan9 SUBL DX, 0(CX)
-2a11|223344556677885f5f5f5f5f5f5f 32 intel sub dl, byte ptr [ecx]
-2a11|223344556677885f5f5f5f5f5f5f 32 plan9 SUBB 0(CX), DL
-2a11|223344556677885f5f5f5f5f5f5f 64 gnu sub (%rcx),%dl
-2a11|223344556677885f5f5f5f5f5f5f 64 intel sub dl, byte ptr [rcx]
-2a11|223344556677885f5f5f5f5f5f5f 64 plan9 SUBB 0(CX), DL
-2b11|223344556677885f5f5f5f5f5f5f 32 intel sub edx, dword ptr [ecx]
-2b11|223344556677885f5f5f5f5f5f5f 32 plan9 SUBL 0(CX), DX
-2b11|223344556677885f5f5f5f5f5f5f 64 gnu sub (%rcx),%edx
-2b11|223344556677885f5f5f5f5f5f5f 64 intel sub edx, dword ptr [rcx]
-2b11|223344556677885f5f5f5f5f5f5f 64 plan9 SUBL 0(CX), DX
-2c11|223344556677885f5f5f5f5f5f5f 32 intel sub al, 0x11
-2c11|223344556677885f5f5f5f5f5f5f 32 plan9 SUBL $0x11, AL
-2c11|223344556677885f5f5f5f5f5f5f 64 gnu sub $0x11,%al
-2c11|223344556677885f5f5f5f5f5f5f 64 intel sub al, 0x11
-2c11|223344556677885f5f5f5f5f5f5f 64 plan9 SUBL $0x11, AL
-2d11223344|556677885f5f5f5f5f5f5f 32 intel sub eax, 0x44332211
-2d11223344|556677885f5f5f5f5f5f5f 32 plan9 SUBL $0x44332211, AX
-2d11223344|556677885f5f5f5f5f5f5f 64 gnu sub $0x44332211,%eax
-2d11223344|556677885f5f5f5f5f5f5f 64 intel sub eax, 0x44332211
-2d11223344|556677885f5f5f5f5f5f5f 64 plan9 SUBL $0x44332211, AX
-2f|11223344556677885f5f5f5f5f5f5f 32 intel das
-2f|11223344556677885f5f5f5f5f5f5f 32 plan9 DAS
-2f|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-2f|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-2f|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-3011|223344556677885f5f5f5f5f5f5f 32 intel xor byte ptr [ecx], dl
-3011|223344556677885f5f5f5f5f5f5f 32 plan9 XORB DL, 0(CX)
-3011|223344556677885f5f5f5f5f5f5f 64 gnu xor %dl,(%rcx)
-3011|223344556677885f5f5f5f5f5f5f 64 intel xor byte ptr [rcx], dl
-3011|223344556677885f5f5f5f5f5f5f 64 plan9 XORB DL, 0(CX)
-3111|223344556677885f5f5f5f5f5f5f 32 intel xor dword ptr [ecx], edx
-3111|223344556677885f5f5f5f5f5f5f 32 plan9 XORL DX, 0(CX)
-3111|223344556677885f5f5f5f5f5f5f 64 gnu xor %edx,(%rcx)
-3111|223344556677885f5f5f5f5f5f5f 64 intel xor dword ptr [rcx], edx
-3111|223344556677885f5f5f5f5f5f5f 64 plan9 XORL DX, 0(CX)
-3211|223344556677885f5f5f5f5f5f5f 32 intel xor dl, byte ptr [ecx]
-3211|223344556677885f5f5f5f5f5f5f 32 plan9 XORB 0(CX), DL
-3211|223344556677885f5f5f5f5f5f5f 64 gnu xor (%rcx),%dl
-3211|223344556677885f5f5f5f5f5f5f 64 intel xor dl, byte ptr [rcx]
-3211|223344556677885f5f5f5f5f5f5f 64 plan9 XORB 0(CX), DL
-3311|223344556677885f5f5f5f5f5f5f 32 intel xor edx, dword ptr [ecx]
-3311|223344556677885f5f5f5f5f5f5f 32 plan9 XORL 0(CX), DX
-3311|223344556677885f5f5f5f5f5f5f 64 gnu xor (%rcx),%edx
-3311|223344556677885f5f5f5f5f5f5f 64 intel xor edx, dword ptr [rcx]
-3311|223344556677885f5f5f5f5f5f5f 64 plan9 XORL 0(CX), DX
-3411|223344556677885f5f5f5f5f5f5f 32 intel xor al, 0x11
-3411|223344556677885f5f5f5f5f5f5f 32 plan9 XORL $0x11, AL
-3411|223344556677885f5f5f5f5f5f5f 64 gnu xor $0x11,%al
-3411|223344556677885f5f5f5f5f5f5f 64 intel xor al, 0x11
-3411|223344556677885f5f5f5f5f5f5f 64 plan9 XORL $0x11, AL
-3511223344|556677885f5f5f5f5f5f5f 32 intel xor eax, 0x44332211
-3511223344|556677885f5f5f5f5f5f5f 32 plan9 XORL $0x44332211, AX
-3511223344|556677885f5f5f5f5f5f5f 64 gnu xor $0x44332211,%eax
-3511223344|556677885f5f5f5f5f5f5f 64 intel xor eax, 0x44332211
-3511223344|556677885f5f5f5f5f5f5f 64 plan9 XORL $0x44332211, AX
-3667f3660f2ac0|11223344556677885f 32 intel addr16 cvtsi2ss xmm0, eax
-3667f3660f2ac0|11223344556677885f 32 plan9 CVTSI2SSW AX, X0
-3667f3660f2ac0|11223344556677885f 64 gnu ss addr32 cvtsi2ss %ax,%xmm0
-3667f3660f2ac0|11223344556677885f 64 intel addr32 cvtsi2ss xmm0, eax
-3667f3660f2ac0|11223344556677885f 64 plan9 CVTSI2SSW AX, X0
-36|67f3660ff7c011223344556677885f 64 gnu ss
-36|f0f2f33e66f066f2f33e3666818411 32 intel ss
-36|f0f2f33e66f066f2f33e3666818411 32 plan9 SS Op(0)
-36|f0f2f33e66f066f2f33e3666818411 64 gnu ss
-36|f0f2f33e66f066f2f33e3666818411 64 intel ss
-36|f0f2f33e66f066f2f33e3666818411 64 plan9 SS Op(0)
-36|f2f33ef0f78411223344556677885f 32 intel ss
-36|f2f33ef0f78411223344556677885f 32 plan9 SS Op(0)
-36|f2f33ef0f78411223344556677885f 64 gnu ss
-36|f2f33ef0f78411223344556677885f 64 intel ss
-36|f2f33ef0f78411223344556677885f 64 plan9 SS Op(0)
-37|11223344556677885f5f5f5f5f5f5f 32 intel aaa
-37|11223344556677885f5f5f5f5f5f5f 32 plan9 AAA
-37|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-37|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-37|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-3811|223344556677885f5f5f5f5f5f5f 32 intel cmp byte ptr [ecx], dl
-3811|223344556677885f5f5f5f5f5f5f 32 plan9 CMPB DL, 0(CX)
-3811|223344556677885f5f5f5f5f5f5f 64 gnu cmp %dl,(%rcx)
-3811|223344556677885f5f5f5f5f5f5f 64 intel cmp byte ptr [rcx], dl
-3811|223344556677885f5f5f5f5f5f5f 64 plan9 CMPB DL, 0(CX)
-3911|223344556677885f5f5f5f5f5f5f 32 intel cmp dword ptr [ecx], edx
-3911|223344556677885f5f5f5f5f5f5f 32 plan9 CMPL DX, 0(CX)
-3911|223344556677885f5f5f5f5f5f5f 64 gnu cmp %edx,(%rcx)
-3911|223344556677885f5f5f5f5f5f5f 64 intel cmp dword ptr [rcx], edx
-3911|223344556677885f5f5f5f5f5f5f 64 plan9 CMPL DX, 0(CX)
-3a11|223344556677885f5f5f5f5f5f5f 32 intel cmp dl, byte ptr [ecx]
-3a11|223344556677885f5f5f5f5f5f5f 32 plan9 CMPB 0(CX), DL
-3a11|223344556677885f5f5f5f5f5f5f 64 gnu cmp (%rcx),%dl
-3a11|223344556677885f5f5f5f5f5f5f 64 intel cmp dl, byte ptr [rcx]
-3a11|223344556677885f5f5f5f5f5f5f 64 plan9 CMPB 0(CX), DL
-3b11|223344556677885f5f5f5f5f5f5f 32 intel cmp edx, dword ptr [ecx]
-3b11|223344556677885f5f5f5f5f5f5f 32 plan9 CMPL 0(CX), DX
-3b11|223344556677885f5f5f5f5f5f5f 64 gnu cmp (%rcx),%edx
-3b11|223344556677885f5f5f5f5f5f5f 64 intel cmp edx, dword ptr [rcx]
-3b11|223344556677885f5f5f5f5f5f5f 64 plan9 CMPL 0(CX), DX
-3c11|223344556677885f5f5f5f5f5f5f 32 intel cmp al, 0x11
-3c11|223344556677885f5f5f5f5f5f5f 32 plan9 CMPL $0x11, AL
-3c11|223344556677885f5f5f5f5f5f5f 64 gnu cmp $0x11,%al
-3c11|223344556677885f5f5f5f5f5f5f 64 intel cmp al, 0x11
-3c11|223344556677885f5f5f5f5f5f5f 64 plan9 CMPL $0x11, AL
-3d11223344|556677885f5f5f5f5f5f5f 32 intel cmp eax, 0x44332211
-3d11223344|556677885f5f5f5f5f5f5f 32 plan9 CMPL $0x44332211, AX
-3d11223344|556677885f5f5f5f5f5f5f 64 gnu cmp $0x44332211,%eax
-3d11223344|556677885f5f5f5f5f5f5f 64 intel cmp eax, 0x44332211
-3d11223344|556677885f5f5f5f5f5f5f 64 plan9 CMPL $0x44332211, AX
-3e67e011|223344556677885f5f5f5f5f 32 intel addr16 loopne .+0x11
-3e67e011|223344556677885f5f5f5f5f 32 plan9 LOOPNE .+17
-3e67e011|223344556677885f5f5f5f5f 64 gnu loopne,pt .+0x11
-3e67e011|223344556677885f5f5f5f5f 64 intel addr32 loopne .+0x11
-3e67e011|223344556677885f5f5f5f5f 64 plan9 LOOPNE .+17
-3ef367660f38f011|223344556677885f 32 intel movbe dx, word ptr [bx+di*1]
-3ef367660f38f011|223344556677885f 32 plan9 REP; MOVBE DS:0(BX)(DI*1), DX
-3ef367660f38f011|223344556677885f 64 gnu rep movbe %ds:(%ecx),%dx
-3ef367660f38f011|223344556677885f 64 intel movbe dx, word ptr [ecx]
-3ef367660f38f011|223344556677885f 64 plan9 REP; MOVBE 0(CX), DX
-3f|11223344556677885f5f5f5f5f5f5f 32 intel aas
-3f|11223344556677885f5f5f5f5f5f5f 32 plan9 AAS
-3f|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-3f|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-3f|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-4040|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-4040|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-4040|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-4048|11223344556677885f5f5f5f5f5f 64 gnu error: unrecognized instruction
-4048|11223344556677885f5f5f5f5f5f 64 intel error: unrecognized instruction
-4048|11223344556677885f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-40|11223344556677885f5f5f5f5f5f5f 32 intel inc eax
-40|11223344556677885f5f5f5f5f5f5f 32 plan9 INCL AX
-480100|11223344556677885f5f5f5f5f 64 gnu add %rax,(%rax)
-480100|11223344556677885f5f5f5f5f 64 intel add qword ptr [rax], rax
-480100|11223344556677885f5f5f5f5f 64 plan9 ADDQ AX, 0(AX)
-480311|223344556677885f5f5f5f5f5f 64 gnu add (%rcx),%rdx
-480311|223344556677885f5f5f5f5f5f 64 intel add rdx, qword ptr [rcx]
-480311|223344556677885f5f5f5f5f5f 64 plan9 ADDQ 0(CX), DX
-480511223344|556677885f5f5f5f5f5f 64 gnu add $0x44332211,%rax
-480511223344|556677885f5f5f5f5f5f 64 intel add rax, 0x44332211
-480511223344|556677885f5f5f5f5f5f 64 plan9 ADDQ $0x44332211, AX
-480911|223344556677885f5f5f5f5f5f 64 gnu or %rdx,(%rcx)
-480911|223344556677885f5f5f5f5f5f 64 intel or qword ptr [rcx], rdx
-480911|223344556677885f5f5f5f5f5f 64 plan9 ORQ DX, 0(CX)
-480b11|223344556677885f5f5f5f5f5f 64 gnu or (%rcx),%rdx
-480b11|223344556677885f5f5f5f5f5f 64 intel or rdx, qword ptr [rcx]
-480b11|223344556677885f5f5f5f5f5f 64 plan9 ORQ 0(CX), DX
-480d11223344|556677885f5f5f5f5f5f 64 gnu or $0x44332211,%rax
-480d11223344|556677885f5f5f5f5f5f 64 intel or rax, 0x44332211
-480d11223344|556677885f5f5f5f5f5f 64 plan9 ORQ $0x44332211, AX
-480f0000|11223344556677885f5f5f5f 64 gnu sldt (%rax)
-480f0000|11223344556677885f5f5f5f 64 intel sldt word ptr [rax]
-480f0000|11223344556677885f5f5f5f 64 plan9 SLDT 0(AX)
-480f0008|11223344556677885f5f5f5f 64 gnu str (%rax)
-480f0008|11223344556677885f5f5f5f 64 intel str word ptr [rax]
-480f0008|11223344556677885f5f5f5f 64 plan9 STR 0(AX)
-480f0120|11223344556677885f5f5f5f 64 gnu smsw (%rax)
-480f0120|11223344556677885f5f5f5f 64 intel smsw word ptr [rax]
-480f0120|11223344556677885f5f5f5f 64 plan9 SMSW 0(AX)
-480f0211|223344556677885f5f5f5f5f 64 gnu lar (%rcx),%rdx
-480f0211|223344556677885f5f5f5f5f 64 intel lar rdx, word ptr [rcx]
-480f0211|223344556677885f5f5f5f5f 64 plan9 LAR 0(CX), DX
-480f0311|223344556677885f5f5f5f5f 64 gnu lsl (%rcx),%rdx
-480f0311|223344556677885f5f5f5f5f 64 intel lsl rdx, word ptr [rcx]
-480f0311|223344556677885f5f5f5f5f 64 plan9 LSL 0(CX), DX
-480f35|11223344556677885f5f5f5f5f 64 gnu sysexit
-480f35|11223344556677885f5f5f5f5f 64 intel sysexit
-480f35|11223344556677885f5f5f5f5f 64 plan9 SYSEXIT
-480f38f011|223344556677885f5f5f5f 64 gnu movbe (%rcx),%rdx
-480f38f011|223344556677885f5f5f5f 64 intel movbe rdx, qword ptr [rcx]
-480f38f011|223344556677885f5f5f5f 64 plan9 MOVBE 0(CX), DX
-480f38f111|223344556677885f5f5f5f 64 gnu movbe %rdx,(%rcx)
-480f38f111|223344556677885f5f5f5f 64 intel movbe qword ptr [rcx], rdx
-480f38f111|223344556677885f5f5f5f 64 plan9 MOVBE DX, 0(CX)
-480f4011|223344556677885f5f5f5f5f 64 gnu cmovo (%rcx),%rdx
-480f4011|223344556677885f5f5f5f5f 64 intel cmovo rdx, qword ptr [rcx]
-480f4011|223344556677885f5f5f5f5f 64 plan9 CMOVO 0(CX), DX
-480f4111|223344556677885f5f5f5f5f 64 gnu cmovno (%rcx),%rdx
-480f4111|223344556677885f5f5f5f5f 64 intel cmovno rdx, qword ptr [rcx]
-480f4111|223344556677885f5f5f5f5f 64 plan9 CMOVNO 0(CX), DX
-480f4211|223344556677885f5f5f5f5f 64 gnu cmovb (%rcx),%rdx
-480f4211|223344556677885f5f5f5f5f 64 intel cmovb rdx, qword ptr [rcx]
-480f4211|223344556677885f5f5f5f5f 64 plan9 CMOVB 0(CX), DX
-480f4311|223344556677885f5f5f5f5f 64 gnu cmovae (%rcx),%rdx
-480f4311|223344556677885f5f5f5f5f 64 intel cmovnb rdx, qword ptr [rcx]
-480f4311|223344556677885f5f5f5f5f 64 plan9 CMOVAE 0(CX), DX
-480f4411|223344556677885f5f5f5f5f 64 gnu cmove (%rcx),%rdx
-480f4411|223344556677885f5f5f5f5f 64 intel cmovz rdx, qword ptr [rcx]
-480f4411|223344556677885f5f5f5f5f 64 plan9 CMOVE 0(CX), DX
-480f4511|223344556677885f5f5f5f5f 64 gnu cmovne (%rcx),%rdx
-480f4511|223344556677885f5f5f5f5f 64 intel cmovnz rdx, qword ptr [rcx]
-480f4511|223344556677885f5f5f5f5f 64 plan9 CMOVNE 0(CX), DX
-480f4611|223344556677885f5f5f5f5f 64 gnu cmovbe (%rcx),%rdx
-480f4611|223344556677885f5f5f5f5f 64 intel cmovbe rdx, qword ptr [rcx]
-480f4611|223344556677885f5f5f5f5f 64 plan9 CMOVBE 0(CX), DX
-480f4711|223344556677885f5f5f5f5f 64 gnu cmova (%rcx),%rdx
-480f4711|223344556677885f5f5f5f5f 64 intel cmovnbe rdx, qword ptr [rcx]
-480f4711|223344556677885f5f5f5f5f 64 plan9 CMOVA 0(CX), DX
-480f4811|223344556677885f5f5f5f5f 64 gnu cmovs (%rcx),%rdx
-480f4811|223344556677885f5f5f5f5f 64 intel cmovs rdx, qword ptr [rcx]
-480f4811|223344556677885f5f5f5f5f 64 plan9 CMOVS 0(CX), DX
-480f4911|223344556677885f5f5f5f5f 64 gnu cmovns (%rcx),%rdx
-480f4911|223344556677885f5f5f5f5f 64 intel cmovns rdx, qword ptr [rcx]
-480f4911|223344556677885f5f5f5f5f 64 plan9 CMOVNS 0(CX), DX
-480f4a11|223344556677885f5f5f5f5f 64 gnu cmovp (%rcx),%rdx
-480f4a11|223344556677885f5f5f5f5f 64 intel cmovp rdx, qword ptr [rcx]
-480f4a11|223344556677885f5f5f5f5f 64 plan9 CMOVP 0(CX), DX
-480f4b11|223344556677885f5f5f5f5f 64 gnu cmovnp (%rcx),%rdx
-480f4b11|223344556677885f5f5f5f5f 64 intel cmovnp rdx, qword ptr [rcx]
-480f4b11|223344556677885f5f5f5f5f 64 plan9 CMOVNP 0(CX), DX
-480f4c11|223344556677885f5f5f5f5f 64 gnu cmovl (%rcx),%rdx
-480f4c11|223344556677885f5f5f5f5f 64 intel cmovl rdx, qword ptr [rcx]
-480f4c11|223344556677885f5f5f5f5f 64 plan9 CMOVL 0(CX), DX
-480f4d11|223344556677885f5f5f5f5f 64 gnu cmovge (%rcx),%rdx
-480f4d11|223344556677885f5f5f5f5f 64 intel cmovnl rdx, qword ptr [rcx]
-480f4d11|223344556677885f5f5f5f5f 64 plan9 CMOVGE 0(CX), DX
-480f4e11|223344556677885f5f5f5f5f 64 gnu cmovle (%rcx),%rdx
-480f4e11|223344556677885f5f5f5f5f 64 intel cmovle rdx, qword ptr [rcx]
-480f4e11|223344556677885f5f5f5f5f 64 plan9 CMOVLE 0(CX), DX
-480f4f11|223344556677885f5f5f5f5f 64 gnu cmovg (%rcx),%rdx
-480f4f11|223344556677885f5f5f5f5f 64 intel cmovnle rdx, qword ptr [rcx]
-480f4f11|223344556677885f5f5f5f5f 64 plan9 CMOVG 0(CX), DX
-480f6e11|223344556677885f5f5f5f5f 64 gnu movq (%rcx),%mm2
-480f6e11|223344556677885f5f5f5f5f 64 intel movq mmx2, qword ptr [rcx]
-480f6e11|223344556677885f5f5f5f5f 64 plan9 MOVQ 0(CX), M2
-480f7e11|223344556677885f5f5f5f5f 64 gnu movq %mm2,(%rcx)
-480f7e11|223344556677885f5f5f5f5f 64 intel movq qword ptr [rcx], mmx2
-480f7e11|223344556677885f5f5f5f5f 64 plan9 MOVQ M2, 0(CX)
-480f8011223344|556677885f5f5f5f5f 64 gnu jo .+0x44332211
-480f8011223344|556677885f5f5f5f5f 64 intel jo .+0x44332211
-480f8011223344|556677885f5f5f5f5f 64 plan9 JO .+1144201745
-480f8111223344|556677885f5f5f5f5f 64 gnu jno .+0x44332211
-480f8111223344|556677885f5f5f5f5f 64 intel jno .+0x44332211
-480f8111223344|556677885f5f5f5f5f 64 plan9 JNO .+1144201745
-480f8211223344|556677885f5f5f5f5f 64 gnu jb .+0x44332211
-480f8211223344|556677885f5f5f5f5f 64 intel jb .+0x44332211
-480f8211223344|556677885f5f5f5f5f 64 plan9 JB .+1144201745
-480f8311223344|556677885f5f5f5f5f 64 gnu jae .+0x44332211
-480f8311223344|556677885f5f5f5f5f 64 intel jnb .+0x44332211
-480f8311223344|556677885f5f5f5f5f 64 plan9 JAE .+1144201745
-480f8411223344|556677885f5f5f5f5f 64 gnu je .+0x44332211
-480f8411223344|556677885f5f5f5f5f 64 intel jz .+0x44332211
-480f8411223344|556677885f5f5f5f5f 64 plan9 JE .+1144201745
-480f8511223344|556677885f5f5f5f5f 64 gnu jne .+0x44332211
-480f8511223344|556677885f5f5f5f5f 64 intel jnz .+0x44332211
-480f8511223344|556677885f5f5f5f5f 64 plan9 JNE .+1144201745
-480f8611223344|556677885f5f5f5f5f 64 gnu jbe .+0x44332211
-480f8611223344|556677885f5f5f5f5f 64 intel jbe .+0x44332211
-480f8611223344|556677885f5f5f5f5f 64 plan9 JBE .+1144201745
-480f8711223344|556677885f5f5f5f5f 64 gnu ja .+0x44332211
-480f8711223344|556677885f5f5f5f5f 64 intel jnbe .+0x44332211
-480f8711223344|556677885f5f5f5f5f 64 plan9 JA .+1144201745
-480f8811223344|556677885f5f5f5f5f 64 gnu js .+0x44332211
-480f8811223344|556677885f5f5f5f5f 64 intel js .+0x44332211
-480f8811223344|556677885f5f5f5f5f 64 plan9 JS .+1144201745
-480f8911223344|556677885f5f5f5f5f 64 gnu jns .+0x44332211
-480f8911223344|556677885f5f5f5f5f 64 intel jns .+0x44332211
-480f8911223344|556677885f5f5f5f5f 64 plan9 JNS .+1144201745
-480f8a11223344|556677885f5f5f5f5f 64 gnu jp .+0x44332211
-480f8a11223344|556677885f5f5f5f5f 64 intel jp .+0x44332211
-480f8a11223344|556677885f5f5f5f5f 64 plan9 JP .+1144201745
-480f8b11223344|556677885f5f5f5f5f 64 gnu jnp .+0x44332211
-480f8b11223344|556677885f5f5f5f5f 64 intel jnp .+0x44332211
-480f8b11223344|556677885f5f5f5f5f 64 plan9 JNP .+1144201745
-480f8c11223344|556677885f5f5f5f5f 64 gnu jl .+0x44332211
-480f8c11223344|556677885f5f5f5f5f 64 intel jl .+0x44332211
-480f8c11223344|556677885f5f5f5f5f 64 plan9 JL .+1144201745
-480f8d11223344|556677885f5f5f5f5f 64 gnu jge .+0x44332211
-480f8d11223344|556677885f5f5f5f5f 64 intel jnl .+0x44332211
-480f8d11223344|556677885f5f5f5f5f 64 plan9 JGE .+1144201745
-480f8e11223344|556677885f5f5f5f5f 64 gnu jle .+0x44332211
-480f8e11223344|556677885f5f5f5f5f 64 intel jle .+0x44332211
-480f8e11223344|556677885f5f5f5f5f 64 plan9 JLE .+1144201745
-480f8f11223344|556677885f5f5f5f5f 64 gnu jg .+0x44332211
-480f8f11223344|556677885f5f5f5f5f 64 intel jnle .+0x44332211
-480f8f11223344|556677885f5f5f5f5f 64 plan9 JG .+1144201745
-480fa1|11223344556677885f5f5f5f5f 64 gnu popq %fs
-480fa1|11223344556677885f5f5f5f5f 64 intel pop fs
-480fa1|11223344556677885f5f5f5f5f 64 plan9 POPQ FS
-480fa311|223344556677885f5f5f5f5f 64 gnu bt %rdx,(%rcx)
-480fa311|223344556677885f5f5f5f5f 64 intel bt qword ptr [rcx], rdx
-480fa311|223344556677885f5f5f5f5f 64 plan9 BTQ DX, 0(CX)
-480fa41122|3344556677885f5f5f5f5f 64 gnu shld $0x22,%rdx,(%rcx)
-480fa41122|3344556677885f5f5f5f5f 64 intel shld qword ptr [rcx], rdx, 0x22
-480fa41122|3344556677885f5f5f5f5f 64 plan9 SHLDQ $0x22, DX, 0(CX)
-480fa511|223344556677885f5f5f5f5f 64 gnu shld %cl,%rdx,(%rcx)
-480fa511|223344556677885f5f5f5f5f 64 intel shld qword ptr [rcx], rdx, cl
-480fa511|223344556677885f5f5f5f5f 64 plan9 SHLDQ CL, DX, 0(CX)
-480fa9|11223344556677885f5f5f5f5f 64 gnu popq %gs
-480fa9|11223344556677885f5f5f5f5f 64 intel pop gs
-480fa9|11223344556677885f5f5f5f5f 64 plan9 POPQ GS
-480fab11|223344556677885f5f5f5f5f 64 gnu bts %rdx,(%rcx)
-480fab11|223344556677885f5f5f5f5f 64 intel bts qword ptr [rcx], rdx
-480fab11|223344556677885f5f5f5f5f 64 plan9 BTSQ DX, 0(CX)
-480fac1122|3344556677885f5f5f5f5f 64 gnu shrd $0x22,%rdx,(%rcx)
-480fac1122|3344556677885f5f5f5f5f 64 intel shrd qword ptr [rcx], rdx, 0x22
-480fac1122|3344556677885f5f5f5f5f 64 plan9 SHRDQ $0x22, DX, 0(CX)
-480fad11|223344556677885f5f5f5f5f 64 gnu shrd %cl,%rdx,(%rcx)
-480fad11|223344556677885f5f5f5f5f 64 intel shrd qword ptr [rcx], rdx, cl
-480fad11|223344556677885f5f5f5f5f 64 plan9 SHRDQ CL, DX, 0(CX)
-480fae00|11223344556677885f5f5f5f 64 gnu fxsave64 (%rax)
-480fae00|11223344556677885f5f5f5f 64 intel fxsave64 ptr [rax]
-480fae00|11223344556677885f5f5f5f 64 plan9 FXSAVE64 0(AX)
-480fae08|11223344556677885f5f5f5f 64 gnu fxrstor64 (%rax)
-480fae08|11223344556677885f5f5f5f 64 intel fxrstor64 ptr [rax]
-480fae08|11223344556677885f5f5f5f 64 plan9 FXRSTOR64 0(AX)
-480fae20|11223344556677885f5f5f5f 64 gnu xsave64 (%rax)
-480fae20|11223344556677885f5f5f5f 64 intel xsave64 ptr [rax]
-480fae20|11223344556677885f5f5f5f 64 plan9 XSAVE64 0(AX)
-480fae28|11223344556677885f5f5f5f 64 gnu xrstor64 (%rax)
-480fae28|11223344556677885f5f5f5f 64 intel xrstor64 ptr [rax]
-480fae28|11223344556677885f5f5f5f 64 plan9 XRSTOR64 0(AX)
-480fae30|11223344556677885f5f5f5f 64 gnu xsaveopt64 (%rax)
-480fae30|11223344556677885f5f5f5f 64 intel xsaveopt64 ptr [rax]
-480fae30|11223344556677885f5f5f5f 64 plan9 XSAVEOPT64 0(AX)
-480faf11|223344556677885f5f5f5f5f 64 gnu imul (%rcx),%rdx
-480faf11|223344556677885f5f5f5f5f 64 intel imul rdx, qword ptr [rcx]
-480faf11|223344556677885f5f5f5f5f 64 plan9 IMULQ 0(CX), DX
-480fb111|223344556677885f5f5f5f5f 64 gnu cmpxchg %rdx,(%rcx)
-480fb111|223344556677885f5f5f5f5f 64 intel cmpxchg qword ptr [rcx], rdx
-480fb111|223344556677885f5f5f5f5f 64 plan9 CMPXCHGQ DX, 0(CX)
-480fb211|223344556677885f5f5f5f5f 64 gnu lss (%rcx),%rdx
-480fb211|223344556677885f5f5f5f5f 64 intel lss rdx, ptr [rcx]
-480fb211|223344556677885f5f5f5f5f 64 plan9 LSS 0(CX), DX
-480fb311|223344556677885f5f5f5f5f 64 gnu btr %rdx,(%rcx)
-480fb311|223344556677885f5f5f5f5f 64 intel btr qword ptr [rcx], rdx
-480fb311|223344556677885f5f5f5f5f 64 plan9 BTRQ DX, 0(CX)
-480fb411|223344556677885f5f5f5f5f 64 gnu lfs (%rcx),%rdx
-480fb411|223344556677885f5f5f5f5f 64 intel lfs rdx, ptr [rcx]
-480fb411|223344556677885f5f5f5f5f 64 plan9 LFS 0(CX), DX
-480fb511|223344556677885f5f5f5f5f 64 gnu lgs (%rcx),%rdx
-480fb511|223344556677885f5f5f5f5f 64 intel lgs rdx, ptr [rcx]
-480fb511|223344556677885f5f5f5f5f 64 plan9 LGS 0(CX), DX
-480fb611|223344556677885f5f5f5f5f 64 gnu movzbq (%rcx),%rdx
-480fb611|223344556677885f5f5f5f5f 64 intel movzx rdx, byte ptr [rcx]
-480fb611|223344556677885f5f5f5f5f 64 plan9 MOVZX 0(CX), DX
-480fb711|223344556677885f5f5f5f5f 64 gnu movzwq (%rcx),%rdx
-480fb711|223344556677885f5f5f5f5f 64 intel movzx rdx, word ptr [rcx]
-480fb711|223344556677885f5f5f5f5f 64 plan9 MOVZX 0(CX), DX
-480fba2011|223344556677885f5f5f5f 64 gnu btq $0x11,(%rax)
-480fba2011|223344556677885f5f5f5f 64 intel bt qword ptr [rax], 0x11
-480fba2011|223344556677885f5f5f5f 64 plan9 BTQ $0x11, 0(AX)
-480fba2811|223344556677885f5f5f5f 64 gnu btsq $0x11,(%rax)
-480fba2811|223344556677885f5f5f5f 64 intel bts qword ptr [rax], 0x11
-480fba2811|223344556677885f5f5f5f 64 plan9 BTSQ $0x11, 0(AX)
-480fba3011|223344556677885f5f5f5f 64 gnu btrq $0x11,(%rax)
-480fba3011|223344556677885f5f5f5f 64 intel btr qword ptr [rax], 0x11
-480fba3011|223344556677885f5f5f5f 64 plan9 BTRQ $0x11, 0(AX)
-480fba3811|223344556677885f5f5f5f 64 gnu btcq $0x11,(%rax)
-480fba3811|223344556677885f5f5f5f 64 intel btc qword ptr [rax], 0x11
-480fba3811|223344556677885f5f5f5f 64 plan9 BTCQ $0x11, 0(AX)
-480fbb11|223344556677885f5f5f5f5f 64 gnu btc %rdx,(%rcx)
-480fbb11|223344556677885f5f5f5f5f 64 intel btc qword ptr [rcx], rdx
-480fbb11|223344556677885f5f5f5f5f 64 plan9 BTCQ DX, 0(CX)
-480fbc11|223344556677885f5f5f5f5f 64 gnu bsf (%rcx),%rdx
-480fbc11|223344556677885f5f5f5f5f 64 intel bsf rdx, qword ptr [rcx]
-480fbc11|223344556677885f5f5f5f5f 64 plan9 BSFQ 0(CX), DX
-480fbd11|223344556677885f5f5f5f5f 64 gnu bsr (%rcx),%rdx
-480fbd11|223344556677885f5f5f5f5f 64 intel bsr rdx, qword ptr [rcx]
-480fbd11|223344556677885f5f5f5f5f 64 plan9 BSRQ 0(CX), DX
-480fbe11|223344556677885f5f5f5f5f 64 gnu movsbq (%rcx),%rdx
-480fbe11|223344556677885f5f5f5f5f 64 intel movsx rdx, byte ptr [rcx]
-480fbe11|223344556677885f5f5f5f5f 64 plan9 MOVSX 0(CX), DX
-480fbf11|223344556677885f5f5f5f5f 64 gnu movswq (%rcx),%rdx
-480fbf11|223344556677885f5f5f5f5f 64 intel movsx rdx, word ptr [rcx]
-480fbf11|223344556677885f5f5f5f5f 64 plan9 MOVSX 0(CX), DX
-480fc111|223344556677885f5f5f5f5f 64 gnu xadd %rdx,(%rcx)
-480fc111|223344556677885f5f5f5f5f 64 intel xadd qword ptr [rcx], rdx
-480fc111|223344556677885f5f5f5f5f 64 plan9 XADDQ DX, 0(CX)
-480fc311|223344556677885f5f5f5f5f 64 gnu movnti %rdx,(%rcx)
-480fc311|223344556677885f5f5f5f5f 64 intel movnti qword ptr [rcx], rdx
-480fc311|223344556677885f5f5f5f5f 64 plan9 MOVNTIQ DX, 0(CX)
-480fc708|11223344556677885f5f5f5f 64 gnu cmpxchg16b (%rax)
-480fc708|11223344556677885f5f5f5f 64 intel cmpxchg16b xmmword ptr [rax]
-480fc708|11223344556677885f5f5f5f 64 plan9 CMPXCHG16B 0(AX)
-480fc718|11223344556677885f5f5f5f 64 gnu xrstors64 (%rax)
-480fc718|11223344556677885f5f5f5f 64 intel xrstors64 ptr [rax]
-480fc718|11223344556677885f5f5f5f 64 plan9 XRSTORS64 0(AX)
-480fc720|11223344556677885f5f5f5f 64 gnu xsavec64 (%rax)
-480fc720|11223344556677885f5f5f5f 64 intel xsavec64 ptr [rax]
-480fc720|11223344556677885f5f5f5f 64 plan9 XSAVEC64 0(AX)
-480fc728|11223344556677885f5f5f5f 64 gnu xsaves64 (%rax)
-480fc728|11223344556677885f5f5f5f 64 intel xsaves64 ptr [rax]
-480fc728|11223344556677885f5f5f5f 64 plan9 XSAVES64 0(AX)
-480fc730|11223344556677885f5f5f5f 64 gnu rdrand
-480fc730|11223344556677885f5f5f5f 64 intel rdrand
-480fc730|11223344556677885f5f5f5f 64 plan9 RDRAND
-480fc8|11223344556677885f5f5f5f5f 64 gnu bswap %rax
-480fc8|11223344556677885f5f5f5f5f 64 intel bswap rax
-480fc8|11223344556677885f5f5f5f5f 64 plan9 BSWAP AX
-481122|3344556677885f5f5f5f5f5f5f 64 gnu adc %rsp,(%rdx)
-481122|3344556677885f5f5f5f5f5f5f 64 intel adc qword ptr [rdx], rsp
-481122|3344556677885f5f5f5f5f5f5f 64 plan9 ADCQ SP, 0(DX)
-481311|223344556677885f5f5f5f5f5f 64 gnu adc (%rcx),%rdx
-481311|223344556677885f5f5f5f5f5f 64 intel adc rdx, qword ptr [rcx]
-481311|223344556677885f5f5f5f5f5f 64 plan9 ADCQ 0(CX), DX
-481511223344|556677885f5f5f5f5f5f 64 gnu adc $0x44332211,%rax
-481511223344|556677885f5f5f5f5f5f 64 intel adc rax, 0x44332211
-481511223344|556677885f5f5f5f5f5f 64 plan9 ADCQ $0x44332211, AX
-481911|223344556677885f5f5f5f5f5f 64 gnu sbb %rdx,(%rcx)
-481911|223344556677885f5f5f5f5f5f 64 intel sbb qword ptr [rcx], rdx
-481911|223344556677885f5f5f5f5f5f 64 plan9 SBBQ DX, 0(CX)
-481b11|223344556677885f5f5f5f5f5f 64 gnu sbb (%rcx),%rdx
-481b11|223344556677885f5f5f5f5f5f 64 intel sbb rdx, qword ptr [rcx]
-481b11|223344556677885f5f5f5f5f5f 64 plan9 SBBQ 0(CX), DX
-481d11223344|556677885f5f5f5f5f5f 64 gnu sbb $0x44332211,%rax
-481d11223344|556677885f5f5f5f5f5f 64 intel sbb rax, 0x44332211
-481d11223344|556677885f5f5f5f5f5f 64 plan9 SBBQ $0x44332211, AX
-482111|223344556677885f5f5f5f5f5f 64 gnu and %rdx,(%rcx)
-482111|223344556677885f5f5f5f5f5f 64 intel and qword ptr [rcx], rdx
-482111|223344556677885f5f5f5f5f5f 64 plan9 ANDQ DX, 0(CX)
-482311|223344556677885f5f5f5f5f5f 64 gnu and (%rcx),%rdx
-482311|223344556677885f5f5f5f5f5f 64 intel and rdx, qword ptr [rcx]
-482311|223344556677885f5f5f5f5f5f 64 plan9 ANDQ 0(CX), DX
-482511223344|556677885f5f5f5f5f5f 64 gnu and $0x44332211,%rax
-482511223344|556677885f5f5f5f5f5f 64 intel and rax, 0x44332211
-482511223344|556677885f5f5f5f5f5f 64 plan9 ANDQ $0x44332211, AX
-482911|223344556677885f5f5f5f5f5f 64 gnu sub %rdx,(%rcx)
-482911|223344556677885f5f5f5f5f5f 64 intel sub qword ptr [rcx], rdx
-482911|223344556677885f5f5f5f5f5f 64 plan9 SUBQ DX, 0(CX)
-482b11|223344556677885f5f5f5f5f5f 64 gnu sub (%rcx),%rdx
-482b11|223344556677885f5f5f5f5f5f 64 intel sub rdx, qword ptr [rcx]
-482b11|223344556677885f5f5f5f5f5f 64 plan9 SUBQ 0(CX), DX
-482d11223344|556677885f5f5f5f5f5f 64 gnu sub $0x44332211,%rax
-482d11223344|556677885f5f5f5f5f5f 64 intel sub rax, 0x44332211
-482d11223344|556677885f5f5f5f5f5f 64 plan9 SUBQ $0x44332211, AX
-483111|223344556677885f5f5f5f5f5f 64 gnu xor %rdx,(%rcx)
-483111|223344556677885f5f5f5f5f5f 64 intel xor qword ptr [rcx], rdx
-483111|223344556677885f5f5f5f5f5f 64 plan9 XORQ DX, 0(CX)
-483311|223344556677885f5f5f5f5f5f 64 gnu xor (%rcx),%rdx
-483311|223344556677885f5f5f5f5f5f 64 intel xor rdx, qword ptr [rcx]
-483311|223344556677885f5f5f5f5f5f 64 plan9 XORQ 0(CX), DX
-483511223344|556677885f5f5f5f5f5f 64 gnu xor $0x44332211,%rax
-483511223344|556677885f5f5f5f5f5f 64 intel xor rax, 0x44332211
-483511223344|556677885f5f5f5f5f5f 64 plan9 XORQ $0x44332211, AX
-483911|223344556677885f5f5f5f5f5f 64 gnu cmp %rdx,(%rcx)
-483911|223344556677885f5f5f5f5f5f 64 intel cmp qword ptr [rcx], rdx
-483911|223344556677885f5f5f5f5f5f 64 plan9 CMPQ DX, 0(CX)
-483b11|223344556677885f5f5f5f5f5f 64 gnu cmp (%rcx),%rdx
-483b11|223344556677885f5f5f5f5f5f 64 intel cmp rdx, qword ptr [rcx]
-483b11|223344556677885f5f5f5f5f5f 64 plan9 CMPQ 0(CX), DX
-483d11223344|556677885f5f5f5f5f5f 64 gnu cmp $0x44332211,%rax
-483d11223344|556677885f5f5f5f5f5f 64 intel cmp rax, 0x44332211
-483d11223344|556677885f5f5f5f5f5f 64 plan9 CMPQ $0x44332211, AX
-4850|11223344556677885f5f5f5f5f5f 64 gnu push %rax
-4850|11223344556677885f5f5f5f5f5f 64 intel push rax
-4850|11223344556677885f5f5f5f5f5f 64 plan9 PUSHQ AX
-4858|11223344556677885f5f5f5f5f5f 64 gnu pop %rax
-4858|11223344556677885f5f5f5f5f5f 64 intel pop rax
-4858|11223344556677885f5f5f5f5f5f 64 plan9 POPQ AX
-486311|223344556677885f5f5f5f5f5f 64 gnu movsxd (%rcx),%rdx
-486311|223344556677885f5f5f5f5f5f 64 intel movsxd rdx, dword ptr [rcx]
-486311|223344556677885f5f5f5f5f5f 64 plan9 MOVSXD 0(CX), DX
-486811223344|556677885f5f5f5f5f5f 64 gnu pushq $0x44332211
-486811223344|556677885f5f5f5f5f5f 64 intel push 0x44332211
-486811223344|556677885f5f5f5f5f5f 64 plan9 PUSHQ $0x44332211
-48691122334455|6677885f5f5f5f5f5f 64 gnu imul $0x55443322,(%rcx),%rdx
-48691122334455|6677885f5f5f5f5f5f 64 intel imul rdx, qword ptr [rcx], 0x55443322
-48691122334455|6677885f5f5f5f5f5f 64 plan9 IMULQ $0x55443322, 0(CX), DX
-486b1122|3344556677885f5f5f5f5f5f 64 gnu imul $0x22,(%rcx),%rdx
-486b1122|3344556677885f5f5f5f5f5f 64 intel imul rdx, qword ptr [rcx], 0x22
-486b1122|3344556677885f5f5f5f5f5f 64 plan9 IMULQ $0x22, 0(CX), DX
-486d|11223344556677885f5f5f5f5f5f 64 gnu insl (%dx),%es:(%rdi)
-486d|11223344556677885f5f5f5f5f5f 64 intel insd
-486d|11223344556677885f5f5f5f5f5f 64 plan9 INSD DX, ES:0(DI)
-486f|11223344556677885f5f5f5f5f5f 64 gnu outsl %ds:(%rsi),(%dx)
-486f|11223344556677885f5f5f5f5f5f 64 intel outsd
-486f|11223344556677885f5f5f5f5f5f 64 plan9 OUTSD DS:0(SI), DX
-48810011223344|556677885f5f5f5f5f 64 gnu addq $0x44332211,(%rax)
-48810011223344|556677885f5f5f5f5f 64 intel add qword ptr [rax], 0x44332211
-48810011223344|556677885f5f5f5f5f 64 plan9 ADDQ $0x44332211, 0(AX)
-48810811223344|556677885f5f5f5f5f 64 gnu orq $0x44332211,(%rax)
-48810811223344|556677885f5f5f5f5f 64 intel or qword ptr [rax], 0x44332211
-48810811223344|556677885f5f5f5f5f 64 plan9 ORQ $0x44332211, 0(AX)
-48811122334455|6677885f5f5f5f5f5f 64 gnu adcq $0x55443322,(%rcx)
-48811122334455|6677885f5f5f5f5f5f 64 intel adc qword ptr [rcx], 0x55443322
-48811122334455|6677885f5f5f5f5f5f 64 plan9 ADCQ $0x55443322, 0(CX)
-48811811223344|556677885f5f5f5f5f 64 gnu sbbq $0x44332211,(%rax)
-48811811223344|556677885f5f5f5f5f 64 intel sbb qword ptr [rax], 0x44332211
-48811811223344|556677885f5f5f5f5f 64 plan9 SBBQ $0x44332211, 0(AX)
-48812011223344|556677885f5f5f5f5f 64 gnu andq $0x44332211,(%rax)
-48812011223344|556677885f5f5f5f5f 64 intel and qword ptr [rax], 0x44332211
-48812011223344|556677885f5f5f5f5f 64 plan9 ANDQ $0x44332211, 0(AX)
-48812811223344|556677885f5f5f5f5f 64 gnu subq $0x44332211,(%rax)
-48812811223344|556677885f5f5f5f5f 64 intel sub qword ptr [rax], 0x44332211
-48812811223344|556677885f5f5f5f5f 64 plan9 SUBQ $0x44332211, 0(AX)
-48813011223344|556677885f5f5f5f5f 64 gnu xorq $0x44332211,(%rax)
-48813011223344|556677885f5f5f5f5f 64 intel xor qword ptr [rax], 0x44332211
-48813011223344|556677885f5f5f5f5f 64 plan9 XORQ $0x44332211, 0(AX)
-48813811223344|556677885f5f5f5f5f 64 gnu cmpq $0x44332211,(%rax)
-48813811223344|556677885f5f5f5f5f 64 intel cmp qword ptr [rax], 0x44332211
-48813811223344|556677885f5f5f5f5f 64 plan9 CMPQ $0x44332211, 0(AX)
-48830011|223344556677885f5f5f5f5f 64 gnu addq $0x11,(%rax)
-48830011|223344556677885f5f5f5f5f 64 intel add qword ptr [rax], 0x11
-48830011|223344556677885f5f5f5f5f 64 plan9 ADDQ $0x11, 0(AX)
-48830811|223344556677885f5f5f5f5f 64 gnu orq $0x11,(%rax)
-48830811|223344556677885f5f5f5f5f 64 intel or qword ptr [rax], 0x11
-48830811|223344556677885f5f5f5f5f 64 plan9 ORQ $0x11, 0(AX)
-48831122|3344556677885f5f5f5f5f5f 64 gnu adcq $0x22,(%rcx)
-48831122|3344556677885f5f5f5f5f5f 64 intel adc qword ptr [rcx], 0x22
-48831122|3344556677885f5f5f5f5f5f 64 plan9 ADCQ $0x22, 0(CX)
-48831811|223344556677885f5f5f5f5f 64 gnu sbbq $0x11,(%rax)
-48831811|223344556677885f5f5f5f5f 64 intel sbb qword ptr [rax], 0x11
-48831811|223344556677885f5f5f5f5f 64 plan9 SBBQ $0x11, 0(AX)
-48832011|223344556677885f5f5f5f5f 64 gnu andq $0x11,(%rax)
-48832011|223344556677885f5f5f5f5f 64 intel and qword ptr [rax], 0x11
-48832011|223344556677885f5f5f5f5f 64 plan9 ANDQ $0x11, 0(AX)
-48832811|223344556677885f5f5f5f5f 64 gnu subq $0x11,(%rax)
-48832811|223344556677885f5f5f5f5f 64 intel sub qword ptr [rax], 0x11
-48832811|223344556677885f5f5f5f5f 64 plan9 SUBQ $0x11, 0(AX)
-48833011|223344556677885f5f5f5f5f 64 gnu xorq $0x11,(%rax)
-48833011|223344556677885f5f5f5f5f 64 intel xor qword ptr [rax], 0x11
-48833011|223344556677885f5f5f5f5f 64 plan9 XORQ $0x11, 0(AX)
-48833811|223344556677885f5f5f5f5f 64 gnu cmpq $0x11,(%rax)
-48833811|223344556677885f5f5f5f5f 64 intel cmp qword ptr [rax], 0x11
-48833811|223344556677885f5f5f5f5f 64 plan9 CMPQ $0x11, 0(AX)
-488511|223344556677885f5f5f5f5f5f 64 gnu test %rdx,(%rcx)
-488511|223344556677885f5f5f5f5f5f 64 intel test qword ptr [rcx], rdx
-488511|223344556677885f5f5f5f5f5f 64 plan9 TESTQ DX, 0(CX)
-488711|223344556677885f5f5f5f5f5f 64 gnu xchg %rdx,(%rcx)
-488711|223344556677885f5f5f5f5f5f 64 intel xchg qword ptr [rcx], rdx
-488711|223344556677885f5f5f5f5f5f 64 plan9 XCHGQ DX, 0(CX)
-488911|223344556677885f5f5f5f5f5f 64 gnu mov %rdx,(%rcx)
-488911|223344556677885f5f5f5f5f5f 64 intel mov qword ptr [rcx], rdx
-488911|223344556677885f5f5f5f5f5f 64 plan9 MOVQ DX, 0(CX)
-488b11|223344556677885f5f5f5f5f5f 64 gnu mov (%rcx),%rdx
-488b11|223344556677885f5f5f5f5f5f 64 intel mov rdx, qword ptr [rcx]
-488b11|223344556677885f5f5f5f5f5f 64 plan9 MOVQ 0(CX), DX
-488c11|223344556677885f5f5f5f5f5f 64 gnu mov %ss,(%rcx)
-488c11|223344556677885f5f5f5f5f5f 64 intel mov word ptr [rcx], ss
-# MOVQ is probably more correct here (reads 16 bits of segment register, zero extends, writes 64 bits at CX)
-488c11|223344556677885f5f5f5f5f5f 64 plan9 MOVW SS, 0(CX)
-488d11|223344556677885f5f5f5f5f5f 64 gnu lea (%rcx),%rdx
-488d11|223344556677885f5f5f5f5f5f 64 intel lea rdx, ptr [rcx]
-488d11|223344556677885f5f5f5f5f5f 64 plan9 LEAQ 0(CX), DX
-488e11|223344556677885f5f5f5f5f5f 64 gnu mov (%rcx),%ss
-488e11|223344556677885f5f5f5f5f5f 64 intel mov ss, word ptr [rcx]
-488e11|223344556677885f5f5f5f5f5f 64 plan9 MOVW 0(CX), SS
-488f00|11223344556677885f5f5f5f5f 64 gnu popq (%rax)
-488f00|11223344556677885f5f5f5f5f 64 intel pop qword ptr [rax]
-488f00|11223344556677885f5f5f5f5f 64 plan9 POPQ 0(AX)
-4891|11223344556677885f5f5f5f5f5f 64 gnu xchg %rax,%rcx
-4891|11223344556677885f5f5f5f5f5f 64 intel xchg rcx, rax
-4891|11223344556677885f5f5f5f5f5f 64 plan9 XCHGQ AX, CX
-4898|11223344556677885f5f5f5f5f5f 64 gnu cdqe
-4898|11223344556677885f5f5f5f5f5f 64 intel cdqe
-4898|11223344556677885f5f5f5f5f5f 64 plan9 CDQE
-4899|11223344556677885f5f5f5f5f5f 64 gnu cqto
-4899|11223344556677885f5f5f5f5f5f 64 intel cqo
-4899|11223344556677885f5f5f5f5f5f 64 plan9 CQO
-489c|11223344556677885f5f5f5f5f5f 64 gnu pushfq
-489c|11223344556677885f5f5f5f5f5f 64 intel pushfq
-489c|11223344556677885f5f5f5f5f5f 64 plan9 PUSHFQ
-489d|11223344556677885f5f5f5f5f5f 64 gnu popfq
-489d|11223344556677885f5f5f5f5f5f 64 intel popfq
-489d|11223344556677885f5f5f5f5f5f 64 plan9 POPFQ
-48a01122334455667788|5f5f5f5f5f5f 64 gnu mov -0x778899aabbccddef,%al
-48a01122334455667788|5f5f5f5f5f5f 64 intel mov al, byte ptr [0x8877665544332211]
-48a01122334455667788|5f5f5f5f5f5f 64 plan9 MOVB -0x778899aabbccddef, AL
-48a11122334455667788|5f5f5f5f5f5f 64 gnu mov -0x778899aabbccddef,%rax
-48a11122334455667788|5f5f5f5f5f5f 64 intel mov rax, qword ptr [0x8877665544332211]
-48a11122334455667788|5f5f5f5f5f5f 64 plan9 MOVQ -0x778899aabbccddef, AX
-48a21122334455667788|5f5f5f5f5f5f 64 gnu mov %al,-0x778899aabbccddef
-48a21122334455667788|5f5f5f5f5f5f 64 intel mov byte ptr [0x8877665544332211], al
-48a21122334455667788|5f5f5f5f5f5f 64 plan9 MOVB AL, -0x778899aabbccddef
-48a31122334455667788|5f5f5f5f5f5f 64 gnu mov %rax,-0x778899aabbccddef
-48a31122334455667788|5f5f5f5f5f5f 64 intel mov qword ptr [0x8877665544332211], rax
-48a31122334455667788|5f5f5f5f5f5f 64 plan9 MOVQ AX, -0x778899aabbccddef
-48a5|11223344556677885f5f5f5f5f5f 64 gnu movsq %ds:(%rsi),%es:(%rdi)
-48a5|11223344556677885f5f5f5f5f5f 64 intel movsq qword ptr [rdi], qword ptr [rsi]
-48a5|11223344556677885f5f5f5f5f5f 64 plan9 MOVSQ DS:0(SI), ES:0(DI)
-48a7|11223344556677885f5f5f5f5f5f 64 gnu cmpsq %es:(%rdi),%ds:(%rsi)
-48a7|11223344556677885f5f5f5f5f5f 64 intel cmpsq qword ptr [rsi], qword ptr [rdi]
-48a7|11223344556677885f5f5f5f5f5f 64 plan9 CMPSQ ES:0(DI), DS:0(SI)
-48a911223344|556677885f5f5f5f5f5f 64 gnu test $0x44332211,%rax
-48a911223344|556677885f5f5f5f5f5f 64 intel test rax, 0x44332211
-48a911223344|556677885f5f5f5f5f5f 64 plan9 TESTQ $0x44332211, AX
-48ab|11223344556677885f5f5f5f5f5f 64 gnu stos %rax,%es:(%rdi)
-48ab|11223344556677885f5f5f5f5f5f 64 intel stosq qword ptr [rdi]
-48ab|11223344556677885f5f5f5f5f5f 64 plan9 STOSQ AX, ES:0(DI)
-48ad|11223344556677885f5f5f5f5f5f 64 gnu lods %ds:(%rsi),%rax
-48ad|11223344556677885f5f5f5f5f5f 64 intel lodsq qword ptr [rsi]
-48ad|11223344556677885f5f5f5f5f5f 64 plan9 LODSQ DS:0(SI), AX
-48af|11223344556677885f5f5f5f5f5f 64 gnu scas %es:(%rdi),%rax
-48af|11223344556677885f5f5f5f5f5f 64 intel scasq qword ptr [rdi]
-48af|11223344556677885f5f5f5f5f5f 64 plan9 SCASQ ES:0(DI), AX
-48b81122334455667788|5f5f5f5f5f5f 64 gnu mov $-0x778899aabbccddef,%rax
-48b81122334455667788|5f5f5f5f5f5f 64 intel mov rax, 0x8877665544332211
-48b81122334455667788|5f5f5f5f5f5f 64 plan9 MOVQ $0x8877665544332211, AX
-48c10011|223344556677885f5f5f5f5f 64 gnu rolq $0x11,(%rax)
-48c10011|223344556677885f5f5f5f5f 64 intel rol qword ptr [rax], 0x11
-48c10011|223344556677885f5f5f5f5f 64 plan9 ROLQ $0x11, 0(AX)
-48c10811|223344556677885f5f5f5f5f 64 gnu rorq $0x11,(%rax)
-48c10811|223344556677885f5f5f5f5f 64 intel ror qword ptr [rax], 0x11
-48c10811|223344556677885f5f5f5f5f 64 plan9 RORQ $0x11, 0(AX)
-48c11122|3344556677885f5f5f5f5f5f 64 gnu rclq $0x22,(%rcx)
-48c11122|3344556677885f5f5f5f5f5f 64 intel rcl qword ptr [rcx], 0x22
-48c11122|3344556677885f5f5f5f5f5f 64 plan9 RCLQ $0x22, 0(CX)
-48c11811|223344556677885f5f5f5f5f 64 gnu rcrq $0x11,(%rax)
-48c11811|223344556677885f5f5f5f5f 64 intel rcr qword ptr [rax], 0x11
-48c11811|223344556677885f5f5f5f5f 64 plan9 RCRQ $0x11, 0(AX)
-48c12011|223344556677885f5f5f5f5f 64 gnu shlq $0x11,(%rax)
-48c12011|223344556677885f5f5f5f5f 64 intel shl qword ptr [rax], 0x11
-48c12011|223344556677885f5f5f5f5f 64 plan9 SHLQ $0x11, 0(AX)
-48c12811|223344556677885f5f5f5f5f 64 gnu shrq $0x11,(%rax)
-48c12811|223344556677885f5f5f5f5f 64 intel shr qword ptr [rax], 0x11
-48c12811|223344556677885f5f5f5f5f 64 plan9 SHRQ $0x11, 0(AX)
-48c13811|223344556677885f5f5f5f5f 64 gnu sarq $0x11,(%rax)
-48c13811|223344556677885f5f5f5f5f 64 intel sar qword ptr [rax], 0x11
-48c13811|223344556677885f5f5f5f5f 64 plan9 SARQ $0x11, 0(AX)
-48c70011223344|556677885f5f5f5f5f 64 gnu movq $0x44332211,(%rax)
-48c70011223344|556677885f5f5f5f5f 64 intel mov qword ptr [rax], 0x44332211
-48c70011223344|556677885f5f5f5f5f 64 plan9 MOVQ $0x44332211, 0(AX)
-48c7f811223344|556677885f5f5f5f5f 64 gnu xbeginq .+0x44332211
-48c7f811223344|556677885f5f5f5f5f 64 intel xbegin .+0x44332211
-48c7f811223344|556677885f5f5f5f5f 64 plan9 XBEGIN .+1144201745
-48c9|11223344556677885f5f5f5f5f5f 64 gnu leaveq
-48c9|11223344556677885f5f5f5f5f5f 64 intel leave
-48c9|11223344556677885f5f5f5f5f5f 64 plan9 LEAVE
-48cf|11223344556677885f5f5f5f5f5f 64 gnu iretq
-48cf|11223344556677885f5f5f5f5f5f 64 intel iretq
-48cf|11223344556677885f5f5f5f5f5f 64 plan9 IRETQ
-48d100|11223344556677885f5f5f5f5f 64 gnu rolq (%rax)
-48d100|11223344556677885f5f5f5f5f 64 intel rol qword ptr [rax], 0x1
-48d100|11223344556677885f5f5f5f5f 64 plan9 ROLQ $0x1, 0(AX)
-48d108|11223344556677885f5f5f5f5f 64 gnu rorq (%rax)
-48d108|11223344556677885f5f5f5f5f 64 intel ror qword ptr [rax], 0x1
-48d108|11223344556677885f5f5f5f5f 64 plan9 RORQ $0x1, 0(AX)
-48d111|223344556677885f5f5f5f5f5f 64 gnu rclq (%rcx)
-48d111|223344556677885f5f5f5f5f5f 64 intel rcl qword ptr [rcx], 0x1
-48d111|223344556677885f5f5f5f5f5f 64 plan9 RCLQ $0x1, 0(CX)
-48d118|11223344556677885f5f5f5f5f 64 gnu rcrq (%rax)
-48d118|11223344556677885f5f5f5f5f 64 intel rcr qword ptr [rax], 0x1
-48d118|11223344556677885f5f5f5f5f 64 plan9 RCRQ $0x1, 0(AX)
-48d120|11223344556677885f5f5f5f5f 64 gnu shlq (%rax)
-48d120|11223344556677885f5f5f5f5f 64 intel shl qword ptr [rax], 0x1
-48d120|11223344556677885f5f5f5f5f 64 plan9 SHLQ $0x1, 0(AX)
-48d128|11223344556677885f5f5f5f5f 64 gnu shrq (%rax)
-48d128|11223344556677885f5f5f5f5f 64 intel shr qword ptr [rax], 0x1
-48d128|11223344556677885f5f5f5f5f 64 plan9 SHRQ $0x1, 0(AX)
-48d138|11223344556677885f5f5f5f5f 64 gnu sarq (%rax)
-48d138|11223344556677885f5f5f5f5f 64 intel sar qword ptr [rax], 0x1
-48d138|11223344556677885f5f5f5f5f 64 plan9 SARQ $0x1, 0(AX)
-48d300|11223344556677885f5f5f5f5f 64 gnu rolq %cl,(%rax)
-48d300|11223344556677885f5f5f5f5f 64 intel rol qword ptr [rax], cl
-48d300|11223344556677885f5f5f5f5f 64 plan9 ROLQ CL, 0(AX)
-48d308|11223344556677885f5f5f5f5f 64 gnu rorq %cl,(%rax)
-48d308|11223344556677885f5f5f5f5f 64 intel ror qword ptr [rax], cl
-48d308|11223344556677885f5f5f5f5f 64 plan9 RORQ CL, 0(AX)
-48d311|223344556677885f5f5f5f5f5f 64 gnu rclq %cl,(%rcx)
-48d311|223344556677885f5f5f5f5f5f 64 intel rcl qword ptr [rcx], cl
-48d311|223344556677885f5f5f5f5f5f 64 plan9 RCLQ CL, 0(CX)
-48d318|11223344556677885f5f5f5f5f 64 gnu rcrq %cl,(%rax)
-48d318|11223344556677885f5f5f5f5f 64 intel rcr qword ptr [rax], cl
-48d318|11223344556677885f5f5f5f5f 64 plan9 RCRQ CL, 0(AX)
-48d320|11223344556677885f5f5f5f5f 64 gnu shlq %cl,(%rax)
-48d320|11223344556677885f5f5f5f5f 64 intel shl qword ptr [rax], cl
-48d320|11223344556677885f5f5f5f5f 64 plan9 SHLQ CL, 0(AX)
-48d328|11223344556677885f5f5f5f5f 64 gnu shrq %cl,(%rax)
-48d328|11223344556677885f5f5f5f5f 64 intel shr qword ptr [rax], cl
-48d328|11223344556677885f5f5f5f5f 64 plan9 SHRQ CL, 0(AX)
-48d338|11223344556677885f5f5f5f5f 64 gnu sarq %cl,(%rax)
-48d338|11223344556677885f5f5f5f5f 64 intel sar qword ptr [rax], cl
-48d338|11223344556677885f5f5f5f5f 64 plan9 SARQ CL, 0(AX)
-48d7|11223344556677885f5f5f5f5f5f 64 gnu xlat %ds:(%rbx)
-48d7|11223344556677885f5f5f5f5f5f 64 intel xlat
-48d7|11223344556677885f5f5f5f5f5f 64 plan9 XLATB DS:0(BX)
-48e511|223344556677885f5f5f5f5f5f 64 gnu in $0x11,%eax
-48e511|223344556677885f5f5f5f5f5f 64 intel in eax, 0x11
-48e511|223344556677885f5f5f5f5f5f 64 plan9 INQ $0x11, AX
-48e711|223344556677885f5f5f5f5f5f 64 gnu out %eax,$0x11
-48e711|223344556677885f5f5f5f5f5f 64 intel out 0x11, eax
-48e711|223344556677885f5f5f5f5f5f 64 plan9 OUTQ AX, $0x11
-48e811223344|556677885f5f5f5f5f5f 64 gnu callq .+0x44332211
-48e811223344|556677885f5f5f5f5f5f 64 intel call .+0x44332211
-48e811223344|556677885f5f5f5f5f5f 64 plan9 CALL .+1144201745
-48e911223344|556677885f5f5f5f5f5f 64 gnu jmpq .+0x44332211
-48e911223344|556677885f5f5f5f5f5f 64 intel jmp .+0x44332211
-48e911223344|556677885f5f5f5f5f5f 64 plan9 JMP .+1144201745
-48ed|11223344556677885f5f5f5f5f5f 64 gnu in (%dx),%eax
-48ed|11223344556677885f5f5f5f5f5f 64 intel in eax, dx
-48ed|11223344556677885f5f5f5f5f5f 64 plan9 INQ DX, AX
-48ef|11223344556677885f5f5f5f5f5f 64 gnu out %eax,(%dx)
-48ef|11223344556677885f5f5f5f5f5f 64 intel out dx, eax
-48ef|11223344556677885f5f5f5f5f5f 64 plan9 OUTQ AX, DX
-48f70011223344|556677885f5f5f5f5f 64 gnu testq $0x44332211,(%rax)
-48f70011223344|556677885f5f5f5f5f 64 intel test qword ptr [rax], 0x44332211
-48f70011223344|556677885f5f5f5f5f 64 plan9 TESTQ $0x44332211, 0(AX)
-48f711|223344556677885f5f5f5f5f5f 64 gnu notq (%rcx)
-48f711|223344556677885f5f5f5f5f5f 64 intel not qword ptr [rcx]
-48f711|223344556677885f5f5f5f5f5f 64 plan9 NOTQ 0(CX)
-48f718|11223344556677885f5f5f5f5f 64 gnu negq (%rax)
-48f718|11223344556677885f5f5f5f5f 64 intel neg qword ptr [rax]
-48f718|11223344556677885f5f5f5f5f 64 plan9 NEGQ 0(AX)
-48f720|11223344556677885f5f5f5f5f 64 gnu mulq (%rax)
-48f720|11223344556677885f5f5f5f5f 64 intel mul qword ptr [rax]
-48f720|11223344556677885f5f5f5f5f 64 plan9 MULQ 0(AX)
-48f728|11223344556677885f5f5f5f5f 64 gnu imulq (%rax)
-48f728|11223344556677885f5f5f5f5f 64 intel imul qword ptr [rax]
-48f728|11223344556677885f5f5f5f5f 64 plan9 IMULQ 0(AX)
-48f730|11223344556677885f5f5f5f5f 64 gnu divq (%rax)
-48f730|11223344556677885f5f5f5f5f 64 intel div qword ptr [rax]
-48f730|11223344556677885f5f5f5f5f 64 plan9 DIVQ 0(AX)
-48f738|11223344556677885f5f5f5f5f 64 gnu idivq (%rax)
-48f738|11223344556677885f5f5f5f5f 64 intel idiv qword ptr [rax]
-48f738|11223344556677885f5f5f5f5f 64 plan9 IDIVQ 0(AX)
-48ff00|11223344556677885f5f5f5f5f 64 gnu incq (%rax)
-48ff00|11223344556677885f5f5f5f5f 64 intel inc qword ptr [rax]
-48ff00|11223344556677885f5f5f5f5f 64 plan9 INCQ 0(AX)
-48ff08|11223344556677885f5f5f5f5f 64 gnu decq (%rax)
-48ff08|11223344556677885f5f5f5f5f 64 intel dec qword ptr [rax]
-48ff08|11223344556677885f5f5f5f5f 64 plan9 DECQ 0(AX)
-48ff18|11223344556677885f5f5f5f5f 64 gnu lcallq *(%rax)
-48ff18|11223344556677885f5f5f5f5f 64 intel call far ptr [rax]
-48ff18|11223344556677885f5f5f5f5f 64 plan9 LCALL 0(AX)
-48ff28|11223344556677885f5f5f5f5f 64 gnu ljmpq *(%rax)
-48ff28|11223344556677885f5f5f5f5f 64 intel jmp far ptr [rax]
-48ff28|11223344556677885f5f5f5f5f 64 plan9 LJMP 0(AX)
-48ff30|11223344556677885f5f5f5f5f 64 gnu pushq (%rax)
-48ff30|11223344556677885f5f5f5f5f 64 intel push qword ptr [rax]
-48ff30|11223344556677885f5f5f5f5f 64 plan9 PUSHQ 0(AX)
-48|010011223344556677885f5f5f5f5f 32 intel dec eax
-48|010011223344556677885f5f5f5f5f 32 plan9 DECL AX
-50|11223344556677885f5f5f5f5f5f5f 32 intel push eax
-50|11223344556677885f5f5f5f5f5f5f 32 plan9 PUSHL AX
-50|11223344556677885f5f5f5f5f5f5f 64 gnu push %rax
-50|11223344556677885f5f5f5f5f5f5f 64 intel push rax
-50|11223344556677885f5f5f5f5f5f5f 64 plan9 PUSHL AX
-58|11223344556677885f5f5f5f5f5f5f 32 intel pop eax
-58|11223344556677885f5f5f5f5f5f5f 32 plan9 POPL AX
-58|11223344556677885f5f5f5f5f5f5f 64 gnu pop %rax
-58|11223344556677885f5f5f5f5f5f5f 64 intel pop rax
-58|11223344556677885f5f5f5f5f5f5f 64 plan9 POPL AX
-60|11223344556677885f5f5f5f5f5f5f 32 intel pushad
-60|11223344556677885f5f5f5f5f5f5f 32 plan9 PUSHAD
-60|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-60|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-60|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-61|11223344556677885f5f5f5f5f5f5f 32 intel popad
-61|11223344556677885f5f5f5f5f5f5f 32 plan9 POPAD
-61|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-61|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-61|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-6211|223344556677885f5f5f5f5f5f5f 32 intel bound edx, qword ptr [ecx]
-6211|223344556677885f5f5f5f5f5f5f 32 plan9 BOUND 0(CX), DX
-62|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-62|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-62|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-6311|223344556677885f5f5f5f5f5f5f 32 intel arpl word ptr [ecx], dx
-6311|223344556677885f5f5f5f5f5f5f 32 plan9 ARPL DX, 0(CX)
-6311|223344556677885f5f5f5f5f5f5f 64 gnu movsxd (%rcx),%edx
-6311|223344556677885f5f5f5f5f5f5f 64 intel movsxd edx, dword ptr [rcx]
-6311|223344556677885f5f5f5f5f5f5f 64 plan9 MOVSXD 0(CX), DX
-660111|223344556677885f5f5f5f5f5f 32 intel add word ptr [ecx], dx
-660111|223344556677885f5f5f5f5f5f 32 plan9 ADDW DX, 0(CX)
-660111|223344556677885f5f5f5f5f5f 64 gnu add %dx,(%rcx)
-660111|223344556677885f5f5f5f5f5f 64 intel add word ptr [rcx], dx
-660111|223344556677885f5f5f5f5f5f 64 plan9 ADDW DX, 0(CX)
-660311|223344556677885f5f5f5f5f5f 32 intel add dx, word ptr [ecx]
-660311|223344556677885f5f5f5f5f5f 32 plan9 ADDW 0(CX), DX
-660311|223344556677885f5f5f5f5f5f 64 gnu add (%rcx),%dx
-660311|223344556677885f5f5f5f5f5f 64 intel add dx, word ptr [rcx]
-660311|223344556677885f5f5f5f5f5f 64 plan9 ADDW 0(CX), DX
-66051122|3344556677885f5f5f5f5f5f 32 intel add ax, 0x2211
-66051122|3344556677885f5f5f5f5f5f 32 plan9 ADDW $0x2211, AX
-66051122|3344556677885f5f5f5f5f5f 64 gnu add $0x2211,%ax
-66051122|3344556677885f5f5f5f5f5f 64 intel add ax, 0x2211
-66051122|3344556677885f5f5f5f5f5f 64 plan9 ADDW $0x2211, AX
-660911|223344556677885f5f5f5f5f5f 32 intel or word ptr [ecx], dx
-660911|223344556677885f5f5f5f5f5f 32 plan9 ORW DX, 0(CX)
-660911|223344556677885f5f5f5f5f5f 64 gnu or %dx,(%rcx)
-660911|223344556677885f5f5f5f5f5f 64 intel or word ptr [rcx], dx
-660911|223344556677885f5f5f5f5f5f 64 plan9 ORW DX, 0(CX)
-660b11|223344556677885f5f5f5f5f5f 32 intel or dx, word ptr [ecx]
-660b11|223344556677885f5f5f5f5f5f 32 plan9 ORW 0(CX), DX
-660b11|223344556677885f5f5f5f5f5f 64 gnu or (%rcx),%dx
-660b11|223344556677885f5f5f5f5f5f 64 intel or dx, word ptr [rcx]
-660b11|223344556677885f5f5f5f5f5f 64 plan9 ORW 0(CX), DX
-660d1122|3344556677885f5f5f5f5f5f 32 intel or ax, 0x2211
-660d1122|3344556677885f5f5f5f5f5f 32 plan9 ORW $0x2211, AX
-660d1122|3344556677885f5f5f5f5f5f 64 gnu or $0x2211,%ax
-660d1122|3344556677885f5f5f5f5f5f 64 intel or ax, 0x2211
-660d1122|3344556677885f5f5f5f5f5f 64 plan9 ORW $0x2211, AX
-660f0000|11223344556677885f5f5f5f 32 intel sldt word ptr [eax]
-660f0000|11223344556677885f5f5f5f 32 plan9 SLDT 0(AX)
-660f0000|11223344556677885f5f5f5f 64 gnu data16 sldt (%rax)
-660f0000|11223344556677885f5f5f5f 64 intel sldt word ptr [rax]
-660f0000|11223344556677885f5f5f5f 64 plan9 SLDT 0(AX)
-660f0008|11223344556677885f5f5f5f 32 intel str word ptr [eax]
-660f0008|11223344556677885f5f5f5f 32 plan9 STR 0(AX)
-660f0008|11223344556677885f5f5f5f 64 gnu data16 str (%rax)
-660f0008|11223344556677885f5f5f5f 64 intel str word ptr [rax]
-660f0008|11223344556677885f5f5f5f 64 plan9 STR 0(AX)
-660f01a611223344|556677885f5f5f5f 32 intel smsw word ptr [esi+0x44332211]
-660f01a611223344|556677885f5f5f5f 32 plan9 SMSW 0x44332211(SI)
-660f01a611223344|556677885f5f5f5f 64 gnu data16 smsw 0x44332211(%rsi)
-660f01a611223344|556677885f5f5f5f 64 intel smsw word ptr [rsi+0x44332211]
-660f01a611223344|556677885f5f5f5f 64 plan9 SMSW 0x44332211(SI)
-660f0211|223344556677885f5f5f5f5f 32 intel lar dx, word ptr [ecx]
-660f0211|223344556677885f5f5f5f5f 32 plan9 LAR 0(CX), DX
-660f0211|223344556677885f5f5f5f5f 64 gnu lar (%rcx),%dx
-660f0211|223344556677885f5f5f5f5f 64 intel lar dx, word ptr [rcx]
-660f0211|223344556677885f5f5f5f5f 64 plan9 LAR 0(CX), DX
-660f0311|223344556677885f5f5f5f5f 32 intel lsl dx, word ptr [ecx]
-660f0311|223344556677885f5f5f5f5f 32 plan9 LSL 0(CX), DX
-660f0311|223344556677885f5f5f5f5f 64 gnu lsl (%rcx),%dx
-660f0311|223344556677885f5f5f5f5f 64 intel lsl dx, word ptr [rcx]
-660f0311|223344556677885f5f5f5f5f 64 plan9 LSL 0(CX), DX
-660f1011|223344556677885f5f5f5f5f 32 intel movupd xmm2, xmmword ptr [ecx]
-660f1011|223344556677885f5f5f5f5f 32 plan9 MOVUPD 0(CX), X2
-660f1011|223344556677885f5f5f5f5f 64 gnu movupd (%rcx),%xmm2
-660f1011|223344556677885f5f5f5f5f 64 intel movupd xmm2, xmmword ptr [rcx]
-660f1011|223344556677885f5f5f5f5f 64 plan9 MOVUPD 0(CX), X2
-660f1122|3344556677885f5f5f5f5f5f 32 intel movupd xmmword ptr [edx], xmm4
-660f1122|3344556677885f5f5f5f5f5f 32 plan9 MOVUPD X4, 0(DX)
-660f1122|3344556677885f5f5f5f5f5f 64 gnu movupd %xmm4,(%rdx)
-660f1122|3344556677885f5f5f5f5f5f 64 intel movupd xmmword ptr [rdx], xmm4
-660f1122|3344556677885f5f5f5f5f5f 64 plan9 MOVUPD X4, 0(DX)
-660f1211|223344556677885f5f5f5f5f 32 intel movlpd xmm2, qword ptr [ecx]
-660f1211|223344556677885f5f5f5f5f 32 plan9 MOVLPD 0(CX), X2
-660f1211|223344556677885f5f5f5f5f 64 gnu movlpd (%rcx),%xmm2
-660f1211|223344556677885f5f5f5f5f 64 intel movlpd xmm2, qword ptr [rcx]
-660f1211|223344556677885f5f5f5f5f 64 plan9 MOVLPD 0(CX), X2
-660f1311|223344556677885f5f5f5f5f 32 intel movlpd qword ptr [ecx], xmm2
-660f1311|223344556677885f5f5f5f5f 32 plan9 MOVLPD X2, 0(CX)
-660f1311|223344556677885f5f5f5f5f 64 gnu movlpd %xmm2,(%rcx)
-660f1311|223344556677885f5f5f5f5f 64 intel movlpd qword ptr [rcx], xmm2
-660f1311|223344556677885f5f5f5f5f 64 plan9 MOVLPD X2, 0(CX)
-660f1411|223344556677885f5f5f5f5f 32 intel unpcklpd xmm2, xmmword ptr [ecx]
-660f1411|223344556677885f5f5f5f5f 32 plan9 UNPCKLPD 0(CX), X2
-660f1411|223344556677885f5f5f5f5f 64 gnu unpcklpd (%rcx),%xmm2
-660f1411|223344556677885f5f5f5f5f 64 intel unpcklpd xmm2, xmmword ptr [rcx]
-660f1411|223344556677885f5f5f5f5f 64 plan9 UNPCKLPD 0(CX), X2
-660f1511|223344556677885f5f5f5f5f 32 intel unpckhpd xmm2, xmmword ptr [ecx]
-660f1511|223344556677885f5f5f5f5f 32 plan9 UNPCKHPD 0(CX), X2
-660f1511|223344556677885f5f5f5f5f 64 gnu unpckhpd (%rcx),%xmm2
-660f1511|223344556677885f5f5f5f5f 64 intel unpckhpd xmm2, xmmword ptr [rcx]
-660f1511|223344556677885f5f5f5f5f 64 plan9 UNPCKHPD 0(CX), X2
-660f1611|223344556677885f5f5f5f5f 32 intel movhpd xmm2, qword ptr [ecx]
-660f1611|223344556677885f5f5f5f5f 32 plan9 MOVHPD 0(CX), X2
-660f1611|223344556677885f5f5f5f5f 64 gnu movhpd (%rcx),%xmm2
-660f1611|223344556677885f5f5f5f5f 64 intel movhpd xmm2, qword ptr [rcx]
-660f1611|223344556677885f5f5f5f5f 64 plan9 MOVHPD 0(CX), X2
-660f1711|223344556677885f5f5f5f5f 32 intel movhpd qword ptr [ecx], xmm2
-660f1711|223344556677885f5f5f5f5f 32 plan9 MOVHPD X2, 0(CX)
-660f1711|223344556677885f5f5f5f5f 64 gnu movhpd %xmm2,(%rcx)
-660f1711|223344556677885f5f5f5f5f 64 intel movhpd qword ptr [rcx], xmm2
-660f1711|223344556677885f5f5f5f5f 64 plan9 MOVHPD X2, 0(CX)
-660f1f00|11223344556677885f5f5f5f 32 intel nop word ptr [eax], ax
-660f1f00|11223344556677885f5f5f5f 32 plan9 NOPW 0(AX)
-660f1f00|11223344556677885f5f5f5f 64 gnu nopw (%rax)
-660f1f00|11223344556677885f5f5f5f 64 intel nop word ptr [rax], ax
-660f1f00|11223344556677885f5f5f5f 64 plan9 NOPW 0(AX)
-660f2811|223344556677885f5f5f5f5f 32 intel movapd xmm2, xmmword ptr [ecx]
-660f2811|223344556677885f5f5f5f5f 32 plan9 MOVAPD 0(CX), X2
-660f2811|223344556677885f5f5f5f5f 64 gnu movapd (%rcx),%xmm2
-660f2811|223344556677885f5f5f5f5f 64 intel movapd xmm2, xmmword ptr [rcx]
-660f2811|223344556677885f5f5f5f5f 64 plan9 MOVAPD 0(CX), X2
-660f2911|223344556677885f5f5f5f5f 32 intel movapd xmmword ptr [ecx], xmm2
-660f2911|223344556677885f5f5f5f5f 32 plan9 MOVAPD X2, 0(CX)
-660f2911|223344556677885f5f5f5f5f 64 gnu movapd %xmm2,(%rcx)
-660f2911|223344556677885f5f5f5f5f 64 intel movapd xmmword ptr [rcx], xmm2
-660f2911|223344556677885f5f5f5f5f 64 plan9 MOVAPD X2, 0(CX)
-660f2a11|223344556677885f5f5f5f5f 32 intel cvtpi2pd xmm2, qword ptr [ecx]
-660f2a11|223344556677885f5f5f5f5f 32 plan9 CVTPI2PD 0(CX), X2
-660f2a11|223344556677885f5f5f5f5f 64 gnu cvtpi2pd (%rcx),%xmm2
-660f2a11|223344556677885f5f5f5f5f 64 intel cvtpi2pd xmm2, qword ptr [rcx]
-660f2a11|223344556677885f5f5f5f5f 64 plan9 CVTPI2PD 0(CX), X2
-660f2b11|223344556677885f5f5f5f5f 32 intel movntpd xmmword ptr [ecx], xmm2
-660f2b11|223344556677885f5f5f5f5f 32 plan9 MOVNTPD X2, 0(CX)
-660f2b11|223344556677885f5f5f5f5f 64 gnu movntpd %xmm2,(%rcx)
-660f2b11|223344556677885f5f5f5f5f 64 intel movntpd xmmword ptr [rcx], xmm2
-660f2b11|223344556677885f5f5f5f5f 64 plan9 MOVNTPD X2, 0(CX)
-660f2c11|223344556677885f5f5f5f5f 32 intel cvttpd2pi mmx2, xmmword ptr [ecx]
-660f2c11|223344556677885f5f5f5f5f 32 plan9 CVTTPD2PI 0(CX), M2
-660f2c11|223344556677885f5f5f5f5f 64 gnu cvttpd2pi (%rcx),%mm2
-660f2c11|223344556677885f5f5f5f5f 64 intel cvttpd2pi mmx2, xmmword ptr [rcx]
-660f2c11|223344556677885f5f5f5f5f 64 plan9 CVTTPD2PI 0(CX), M2
-660f2d11|223344556677885f5f5f5f5f 32 intel cvtpd2pi mmx2, xmmword ptr [ecx]
-660f2d11|223344556677885f5f5f5f5f 32 plan9 CVTPD2PI 0(CX), M2
-660f2d11|223344556677885f5f5f5f5f 64 gnu cvtpd2pi (%rcx),%mm2
-660f2d11|223344556677885f5f5f5f5f 64 intel cvtpd2pi mmx2, xmmword ptr [rcx]
-660f2d11|223344556677885f5f5f5f5f 64 plan9 CVTPD2PI 0(CX), M2
-660f2e11|223344556677885f5f5f5f5f 32 intel ucomisd xmm2, qword ptr [ecx]
-660f2e11|223344556677885f5f5f5f5f 32 plan9 UCOMISD 0(CX), X2
-660f2e11|223344556677885f5f5f5f5f 64 gnu ucomisd (%rcx),%xmm2
-660f2e11|223344556677885f5f5f5f5f 64 intel ucomisd xmm2, qword ptr [rcx]
-660f2e11|223344556677885f5f5f5f5f 64 plan9 UCOMISD 0(CX), X2
-660f2f11|223344556677885f5f5f5f5f 32 intel comisd xmm2, qword ptr [ecx]
-660f2f11|223344556677885f5f5f5f5f 32 plan9 COMISD 0(CX), X2
-660f2f11|223344556677885f5f5f5f5f 64 gnu comisd (%rcx),%xmm2
-660f2f11|223344556677885f5f5f5f5f 64 intel comisd xmm2, qword ptr [rcx]
-660f2f11|223344556677885f5f5f5f5f 64 plan9 COMISD 0(CX), X2
-660f380011|223344556677885f5f5f5f 32 intel pshufb xmm2, xmmword ptr [ecx]
-660f380011|223344556677885f5f5f5f 32 plan9 PSHUFB 0(CX), X2
-660f380011|223344556677885f5f5f5f 64 gnu pshufb (%rcx),%xmm2
-660f380011|223344556677885f5f5f5f 64 intel pshufb xmm2, xmmword ptr [rcx]
-660f380011|223344556677885f5f5f5f 64 plan9 PSHUFB 0(CX), X2
-660f380111|223344556677885f5f5f5f 32 intel phaddw xmm2, xmmword ptr [ecx]
-660f380111|223344556677885f5f5f5f 32 plan9 PHADDW 0(CX), X2
-660f380111|223344556677885f5f5f5f 64 gnu phaddw (%rcx),%xmm2
-660f380111|223344556677885f5f5f5f 64 intel phaddw xmm2, xmmword ptr [rcx]
-660f380111|223344556677885f5f5f5f 64 plan9 PHADDW 0(CX), X2
-660f380211|223344556677885f5f5f5f 32 intel phaddd xmm2, xmmword ptr [ecx]
-660f380211|223344556677885f5f5f5f 32 plan9 PHADDD 0(CX), X2
-660f380211|223344556677885f5f5f5f 64 gnu phaddd (%rcx),%xmm2
-660f380211|223344556677885f5f5f5f 64 intel phaddd xmm2, xmmword ptr [rcx]
-660f380211|223344556677885f5f5f5f 64 plan9 PHADDD 0(CX), X2
-660f380311|223344556677885f5f5f5f 32 intel phaddsw xmm2, xmmword ptr [ecx]
-660f380311|223344556677885f5f5f5f 32 plan9 PHADDSW 0(CX), X2
-660f380311|223344556677885f5f5f5f 64 gnu phaddsw (%rcx),%xmm2
-660f380311|223344556677885f5f5f5f 64 intel phaddsw xmm2, xmmword ptr [rcx]
-660f380311|223344556677885f5f5f5f 64 plan9 PHADDSW 0(CX), X2
-660f380411|223344556677885f5f5f5f 32 intel pmaddubsw xmm2, xmmword ptr [ecx]
-660f380411|223344556677885f5f5f5f 32 plan9 PMADDUBSW 0(CX), X2
-660f380411|223344556677885f5f5f5f 64 gnu pmaddubsw (%rcx),%xmm2
-660f380411|223344556677885f5f5f5f 64 intel pmaddubsw xmm2, xmmword ptr [rcx]
-660f380411|223344556677885f5f5f5f 64 plan9 PMADDUBSW 0(CX), X2
-660f380511|223344556677885f5f5f5f 32 intel phsubw xmm2, xmmword ptr [ecx]
-660f380511|223344556677885f5f5f5f 32 plan9 PHSUBW 0(CX), X2
-660f380511|223344556677885f5f5f5f 64 gnu phsubw (%rcx),%xmm2
-660f380511|223344556677885f5f5f5f 64 intel phsubw xmm2, xmmword ptr [rcx]
-660f380511|223344556677885f5f5f5f 64 plan9 PHSUBW 0(CX), X2
-660f380611|223344556677885f5f5f5f 32 intel phsubd xmm2, xmmword ptr [ecx]
-660f380611|223344556677885f5f5f5f 32 plan9 PHSUBD 0(CX), X2
-660f380611|223344556677885f5f5f5f 64 gnu phsubd (%rcx),%xmm2
-660f380611|223344556677885f5f5f5f 64 intel phsubd xmm2, xmmword ptr [rcx]
-660f380611|223344556677885f5f5f5f 64 plan9 PHSUBD 0(CX), X2
-660f380711|223344556677885f5f5f5f 32 intel phsubsw xmm2, xmmword ptr [ecx]
-660f380711|223344556677885f5f5f5f 32 plan9 PHSUBSW 0(CX), X2
-660f380711|223344556677885f5f5f5f 64 gnu phsubsw (%rcx),%xmm2
-660f380711|223344556677885f5f5f5f 64 intel phsubsw xmm2, xmmword ptr [rcx]
-660f380711|223344556677885f5f5f5f 64 plan9 PHSUBSW 0(CX), X2
-660f380811|223344556677885f5f5f5f 32 intel psignb xmm2, xmmword ptr [ecx]
-660f380811|223344556677885f5f5f5f 32 plan9 PSIGNB 0(CX), X2
-660f380811|223344556677885f5f5f5f 64 gnu psignb (%rcx),%xmm2
-660f380811|223344556677885f5f5f5f 64 intel psignb xmm2, xmmword ptr [rcx]
-660f380811|223344556677885f5f5f5f 64 plan9 PSIGNB 0(CX), X2
-660f380911|223344556677885f5f5f5f 32 intel psignw xmm2, xmmword ptr [ecx]
-660f380911|223344556677885f5f5f5f 32 plan9 PSIGNW 0(CX), X2
-660f380911|223344556677885f5f5f5f 64 gnu psignw (%rcx),%xmm2
-660f380911|223344556677885f5f5f5f 64 intel psignw xmm2, xmmword ptr [rcx]
-660f380911|223344556677885f5f5f5f 64 plan9 PSIGNW 0(CX), X2
-660f380a11|223344556677885f5f5f5f 32 intel psignd xmm2, xmmword ptr [ecx]
-660f380a11|223344556677885f5f5f5f 32 plan9 PSIGND 0(CX), X2
-660f380a11|223344556677885f5f5f5f 64 gnu psignd (%rcx),%xmm2
-660f380a11|223344556677885f5f5f5f 64 intel psignd xmm2, xmmword ptr [rcx]
-660f380a11|223344556677885f5f5f5f 64 plan9 PSIGND 0(CX), X2
-660f380b11|223344556677885f5f5f5f 32 intel pmulhrsw xmm2, xmmword ptr [ecx]
-660f380b11|223344556677885f5f5f5f 32 plan9 PMULHRSW 0(CX), X2
-660f380b11|223344556677885f5f5f5f 64 gnu pmulhrsw (%rcx),%xmm2
-660f380b11|223344556677885f5f5f5f 64 intel pmulhrsw xmm2, xmmword ptr [rcx]
-660f380b11|223344556677885f5f5f5f 64 plan9 PMULHRSW 0(CX), X2
-660f381011|223344556677885f5f5f5f 32 intel pblendvb xmm2, xmmword ptr [ecx]
-660f381011|223344556677885f5f5f5f 32 plan9 PBLENDVB X0, 0(CX), X2
-660f381011|223344556677885f5f5f5f 64 gnu pblendvb %xmm0,(%rcx),%xmm2
-660f381011|223344556677885f5f5f5f 64 intel pblendvb xmm2, xmmword ptr [rcx]
-660f381011|223344556677885f5f5f5f 64 plan9 PBLENDVB X0, 0(CX), X2
-660f381411|223344556677885f5f5f5f 32 intel blendvps xmm2, xmmword ptr [ecx]
-660f381411|223344556677885f5f5f5f 32 plan9 BLENDVPS X0, 0(CX), X2
-660f381411|223344556677885f5f5f5f 64 gnu blendvps %xmm0,(%rcx),%xmm2
-660f381411|223344556677885f5f5f5f 64 intel blendvps xmm2, xmmword ptr [rcx]
-660f381411|223344556677885f5f5f5f 64 plan9 BLENDVPS X0, 0(CX), X2
-660f381511|223344556677885f5f5f5f 32 intel blendvpd xmm2, xmmword ptr [ecx]
-660f381511|223344556677885f5f5f5f 32 plan9 BLENDVPD X0, 0(CX), X2
-660f381511|223344556677885f5f5f5f 64 gnu blendvpd %xmm0,(%rcx),%xmm2
-660f381511|223344556677885f5f5f5f 64 intel blendvpd xmm2, xmmword ptr [rcx]
-660f381511|223344556677885f5f5f5f 64 plan9 BLENDVPD X0, 0(CX), X2
-660f381711|223344556677885f5f5f5f 32 intel ptest xmm2, xmmword ptr [ecx]
-660f381711|223344556677885f5f5f5f 32 plan9 PTEST 0(CX), X2
-660f381711|223344556677885f5f5f5f 64 gnu ptest (%rcx),%xmm2
-660f381711|223344556677885f5f5f5f 64 intel ptest xmm2, xmmword ptr [rcx]
-660f381711|223344556677885f5f5f5f 64 plan9 PTEST 0(CX), X2
-660f381c11|223344556677885f5f5f5f 32 intel pabsb xmm2, xmmword ptr [ecx]
-660f381c11|223344556677885f5f5f5f 32 plan9 PABSB 0(CX), X2
-660f381c11|223344556677885f5f5f5f 64 gnu pabsb (%rcx),%xmm2
-660f381c11|223344556677885f5f5f5f 64 intel pabsb xmm2, xmmword ptr [rcx]
-660f381c11|223344556677885f5f5f5f 64 plan9 PABSB 0(CX), X2
-660f381d11|223344556677885f5f5f5f 32 intel pabsw xmm2, xmmword ptr [ecx]
-660f381d11|223344556677885f5f5f5f 32 plan9 PABSW 0(CX), X2
-660f381d11|223344556677885f5f5f5f 64 gnu pabsw (%rcx),%xmm2
-660f381d11|223344556677885f5f5f5f 64 intel pabsw xmm2, xmmword ptr [rcx]
-660f381d11|223344556677885f5f5f5f 64 plan9 PABSW 0(CX), X2
-660f381e11|223344556677885f5f5f5f 32 intel pabsd xmm2, xmmword ptr [ecx]
-660f381e11|223344556677885f5f5f5f 32 plan9 PABSD 0(CX), X2
-660f381e11|223344556677885f5f5f5f 64 gnu pabsd (%rcx),%xmm2
-660f381e11|223344556677885f5f5f5f 64 intel pabsd xmm2, xmmword ptr [rcx]
-660f381e11|223344556677885f5f5f5f 64 plan9 PABSD 0(CX), X2
-660f382011|223344556677885f5f5f5f 32 intel pmovsxbw xmm2, qword ptr [ecx]
-660f382011|223344556677885f5f5f5f 32 plan9 PMOVSXBW 0(CX), X2
-660f382011|223344556677885f5f5f5f 64 gnu pmovsxbw (%rcx),%xmm2
-660f382011|223344556677885f5f5f5f 64 intel pmovsxbw xmm2, qword ptr [rcx]
-660f382011|223344556677885f5f5f5f 64 plan9 PMOVSXBW 0(CX), X2
-660f382111|223344556677885f5f5f5f 32 intel pmovsxbd xmm2, dword ptr [ecx]
-660f382111|223344556677885f5f5f5f 32 plan9 PMOVSXBD 0(CX), X2
-660f382111|223344556677885f5f5f5f 64 gnu pmovsxbd (%rcx),%xmm2
-660f382111|223344556677885f5f5f5f 64 intel pmovsxbd xmm2, dword ptr [rcx]
-660f382111|223344556677885f5f5f5f 64 plan9 PMOVSXBD 0(CX), X2
-660f382211|223344556677885f5f5f5f 32 intel pmovsxbq xmm2, word ptr [ecx]
-660f382211|223344556677885f5f5f5f 32 plan9 PMOVSXBQ 0(CX), X2
-660f382211|223344556677885f5f5f5f 64 gnu pmovsxbq (%rcx),%xmm2
-660f382211|223344556677885f5f5f5f 64 intel pmovsxbq xmm2, word ptr [rcx]
-660f382211|223344556677885f5f5f5f 64 plan9 PMOVSXBQ 0(CX), X2
-660f382311|223344556677885f5f5f5f 32 intel pmovsxwd xmm2, qword ptr [ecx]
-660f382311|223344556677885f5f5f5f 32 plan9 PMOVSXWD 0(CX), X2
-660f382311|223344556677885f5f5f5f 64 gnu pmovsxwd (%rcx),%xmm2
-660f382311|223344556677885f5f5f5f 64 intel pmovsxwd xmm2, qword ptr [rcx]
-660f382311|223344556677885f5f5f5f 64 plan9 PMOVSXWD 0(CX), X2
-660f382411|223344556677885f5f5f5f 32 intel pmovsxwq xmm2, dword ptr [ecx]
-660f382411|223344556677885f5f5f5f 32 plan9 PMOVSXWQ 0(CX), X2
-660f382411|223344556677885f5f5f5f 64 gnu pmovsxwq (%rcx),%xmm2
-660f382411|223344556677885f5f5f5f 64 intel pmovsxwq xmm2, dword ptr [rcx]
-660f382411|223344556677885f5f5f5f 64 plan9 PMOVSXWQ 0(CX), X2
-660f382511|223344556677885f5f5f5f 32 intel pmovsxdq xmm2, qword ptr [ecx]
-660f382511|223344556677885f5f5f5f 32 plan9 PMOVSXDQ 0(CX), X2
-660f382511|223344556677885f5f5f5f 64 gnu pmovsxdq (%rcx),%xmm2
-660f382511|223344556677885f5f5f5f 64 intel pmovsxdq xmm2, qword ptr [rcx]
-660f382511|223344556677885f5f5f5f 64 plan9 PMOVSXDQ 0(CX), X2
-660f382811|223344556677885f5f5f5f 32 intel pmuldq xmm2, xmmword ptr [ecx]
-660f382811|223344556677885f5f5f5f 32 plan9 PMULDQ 0(CX), X2
-660f382811|223344556677885f5f5f5f 64 gnu pmuldq (%rcx),%xmm2
-660f382811|223344556677885f5f5f5f 64 intel pmuldq xmm2, xmmword ptr [rcx]
-660f382811|223344556677885f5f5f5f 64 plan9 PMULDQ 0(CX), X2
-660f382911|223344556677885f5f5f5f 32 intel pcmpeqq xmm2, xmmword ptr [ecx]
-660f382911|223344556677885f5f5f5f 32 plan9 PCMPEQQ 0(CX), X2
-660f382911|223344556677885f5f5f5f 64 gnu pcmpeqq (%rcx),%xmm2
-660f382911|223344556677885f5f5f5f 64 intel pcmpeqq xmm2, xmmword ptr [rcx]
-660f382911|223344556677885f5f5f5f 64 plan9 PCMPEQQ 0(CX), X2
-660f382a11|223344556677885f5f5f5f 32 intel movntdqa xmm2, xmmword ptr [ecx]
-660f382a11|223344556677885f5f5f5f 32 plan9 MOVNTDQA 0(CX), X2
-660f382a11|223344556677885f5f5f5f 64 gnu movntdqa (%rcx),%xmm2
-660f382a11|223344556677885f5f5f5f 64 intel movntdqa xmm2, xmmword ptr [rcx]
-660f382a11|223344556677885f5f5f5f 64 plan9 MOVNTDQA 0(CX), X2
-660f382b11|223344556677885f5f5f5f 32 intel packusdw xmm2, xmmword ptr [ecx]
-660f382b11|223344556677885f5f5f5f 32 plan9 PACKUSDW 0(CX), X2
-660f382b11|223344556677885f5f5f5f 64 gnu packusdw (%rcx),%xmm2
-660f382b11|223344556677885f5f5f5f 64 intel packusdw xmm2, xmmword ptr [rcx]
-660f382b11|223344556677885f5f5f5f 64 plan9 PACKUSDW 0(CX), X2
-660f383011|223344556677885f5f5f5f 32 intel pmovzxbw xmm2, qword ptr [ecx]
-660f383011|223344556677885f5f5f5f 32 plan9 PMOVZXBW 0(CX), X2
-660f383011|223344556677885f5f5f5f 64 gnu pmovzxbw (%rcx),%xmm2
-660f383011|223344556677885f5f5f5f 64 intel pmovzxbw xmm2, qword ptr [rcx]
-660f383011|223344556677885f5f5f5f 64 plan9 PMOVZXBW 0(CX), X2
-660f383111|223344556677885f5f5f5f 32 intel pmovzxbd xmm2, dword ptr [ecx]
-660f383111|223344556677885f5f5f5f 32 plan9 PMOVZXBD 0(CX), X2
-660f383111|223344556677885f5f5f5f 64 gnu pmovzxbd (%rcx),%xmm2
-660f383111|223344556677885f5f5f5f 64 intel pmovzxbd xmm2, dword ptr [rcx]
-660f383111|223344556677885f5f5f5f 64 plan9 PMOVZXBD 0(CX), X2
-660f383211|223344556677885f5f5f5f 32 intel pmovzxbq xmm2, word ptr [ecx]
-660f383211|223344556677885f5f5f5f 32 plan9 PMOVZXBQ 0(CX), X2
-660f383211|223344556677885f5f5f5f 64 gnu pmovzxbq (%rcx),%xmm2
-660f383211|223344556677885f5f5f5f 64 intel pmovzxbq xmm2, word ptr [rcx]
-660f383211|223344556677885f5f5f5f 64 plan9 PMOVZXBQ 0(CX), X2
-660f383311|223344556677885f5f5f5f 32 intel pmovzxwd xmm2, qword ptr [ecx]
-660f383311|223344556677885f5f5f5f 32 plan9 PMOVZXWD 0(CX), X2
-660f383311|223344556677885f5f5f5f 64 gnu pmovzxwd (%rcx),%xmm2
-660f383311|223344556677885f5f5f5f 64 intel pmovzxwd xmm2, qword ptr [rcx]
-660f383311|223344556677885f5f5f5f 64 plan9 PMOVZXWD 0(CX), X2
-660f383411|223344556677885f5f5f5f 32 intel pmovzxwq xmm2, dword ptr [ecx]
-660f383411|223344556677885f5f5f5f 32 plan9 PMOVZXWQ 0(CX), X2
-660f383411|223344556677885f5f5f5f 64 gnu pmovzxwq (%rcx),%xmm2
-660f383411|223344556677885f5f5f5f 64 intel pmovzxwq xmm2, dword ptr [rcx]
-660f383411|223344556677885f5f5f5f 64 plan9 PMOVZXWQ 0(CX), X2
-660f383511|223344556677885f5f5f5f 32 intel pmovzxdq xmm2, qword ptr [ecx]
-660f383511|223344556677885f5f5f5f 32 plan9 PMOVZXDQ 0(CX), X2
-660f383511|223344556677885f5f5f5f 64 gnu pmovzxdq (%rcx),%xmm2
-660f383511|223344556677885f5f5f5f 64 intel pmovzxdq xmm2, qword ptr [rcx]
-660f383511|223344556677885f5f5f5f 64 plan9 PMOVZXDQ 0(CX), X2
-660f383711|223344556677885f5f5f5f 32 intel pcmpgtq xmm2, xmmword ptr [ecx]
-660f383711|223344556677885f5f5f5f 32 plan9 PCMPGTQ 0(CX), X2
-660f383711|223344556677885f5f5f5f 64 gnu pcmpgtq (%rcx),%xmm2
-660f383711|223344556677885f5f5f5f 64 intel pcmpgtq xmm2, xmmword ptr [rcx]
-660f383711|223344556677885f5f5f5f 64 plan9 PCMPGTQ 0(CX), X2
-660f383811|223344556677885f5f5f5f 32 intel pminsb xmm2, xmmword ptr [ecx]
-660f383811|223344556677885f5f5f5f 32 plan9 PMINSB 0(CX), X2
-660f383811|223344556677885f5f5f5f 64 gnu pminsb (%rcx),%xmm2
-660f383811|223344556677885f5f5f5f 64 intel pminsb xmm2, xmmword ptr [rcx]
-660f383811|223344556677885f5f5f5f 64 plan9 PMINSB 0(CX), X2
-660f383911|223344556677885f5f5f5f 32 intel pminsd xmm2, xmmword ptr [ecx]
-660f383911|223344556677885f5f5f5f 32 plan9 PMINSD 0(CX), X2
-660f383911|223344556677885f5f5f5f 64 gnu pminsd (%rcx),%xmm2
-660f383911|223344556677885f5f5f5f 64 intel pminsd xmm2, xmmword ptr [rcx]
-660f383911|223344556677885f5f5f5f 64 plan9 PMINSD 0(CX), X2
-660f383a11|223344556677885f5f5f5f 32 intel pminuw xmm2, xmmword ptr [ecx]
-660f383a11|223344556677885f5f5f5f 32 plan9 PMINUW 0(CX), X2
-660f383a11|223344556677885f5f5f5f 64 gnu pminuw (%rcx),%xmm2
-660f383a11|223344556677885f5f5f5f 64 intel pminuw xmm2, xmmword ptr [rcx]
-660f383a11|223344556677885f5f5f5f 64 plan9 PMINUW 0(CX), X2
-660f383b11|223344556677885f5f5f5f 32 intel pminud xmm2, xmmword ptr [ecx]
-660f383b11|223344556677885f5f5f5f 32 plan9 PMINUD 0(CX), X2
-660f383b11|223344556677885f5f5f5f 64 gnu pminud (%rcx),%xmm2
-660f383b11|223344556677885f5f5f5f 64 intel pminud xmm2, xmmword ptr [rcx]
-660f383b11|223344556677885f5f5f5f 64 plan9 PMINUD 0(CX), X2
-660f383c11|223344556677885f5f5f5f 32 intel pmaxsb xmm2, xmmword ptr [ecx]
-660f383c11|223344556677885f5f5f5f 32 plan9 PMAXSB 0(CX), X2
-660f383c11|223344556677885f5f5f5f 64 gnu pmaxsb (%rcx),%xmm2
-660f383c11|223344556677885f5f5f5f 64 intel pmaxsb xmm2, xmmword ptr [rcx]
-660f383c11|223344556677885f5f5f5f 64 plan9 PMAXSB 0(CX), X2
-660f383d11|223344556677885f5f5f5f 32 intel pmaxsd xmm2, xmmword ptr [ecx]
-660f383d11|223344556677885f5f5f5f 32 plan9 PMAXSD 0(CX), X2
-660f383d11|223344556677885f5f5f5f 64 gnu pmaxsd (%rcx),%xmm2
-660f383d11|223344556677885f5f5f5f 64 intel pmaxsd xmm2, xmmword ptr [rcx]
-660f383d11|223344556677885f5f5f5f 64 plan9 PMAXSD 0(CX), X2
-660f383e11|223344556677885f5f5f5f 32 intel pmaxuw xmm2, xmmword ptr [ecx]
-660f383e11|223344556677885f5f5f5f 32 plan9 PMAXUW 0(CX), X2
-660f383e11|223344556677885f5f5f5f 64 gnu pmaxuw (%rcx),%xmm2
-660f383e11|223344556677885f5f5f5f 64 intel pmaxuw xmm2, xmmword ptr [rcx]
-660f383e11|223344556677885f5f5f5f 64 plan9 PMAXUW 0(CX), X2
-660f383f11|223344556677885f5f5f5f 32 intel pmaxud xmm2, xmmword ptr [ecx]
-660f383f11|223344556677885f5f5f5f 32 plan9 PMAXUD 0(CX), X2
-660f383f11|223344556677885f5f5f5f 64 gnu pmaxud (%rcx),%xmm2
-660f383f11|223344556677885f5f5f5f 64 intel pmaxud xmm2, xmmword ptr [rcx]
-660f383f11|223344556677885f5f5f5f 64 plan9 PMAXUD 0(CX), X2
-660f384011|223344556677885f5f5f5f 32 intel pmulld xmm2, xmmword ptr [ecx]
-660f384011|223344556677885f5f5f5f 32 plan9 PMULLD 0(CX), X2
-660f384011|223344556677885f5f5f5f 64 gnu pmulld (%rcx),%xmm2
-660f384011|223344556677885f5f5f5f 64 intel pmulld xmm2, xmmword ptr [rcx]
-660f384011|223344556677885f5f5f5f 64 plan9 PMULLD 0(CX), X2
-660f384111|223344556677885f5f5f5f 32 intel phminposuw xmm2, xmmword ptr [ecx]
-660f384111|223344556677885f5f5f5f 32 plan9 PHMINPOSUW 0(CX), X2
-660f384111|223344556677885f5f5f5f 64 gnu phminposuw (%rcx),%xmm2
-660f384111|223344556677885f5f5f5f 64 intel phminposuw xmm2, xmmword ptr [rcx]
-660f384111|223344556677885f5f5f5f 64 plan9 PHMINPOSUW 0(CX), X2
-660f388211|223344556677885f5f5f5f 32 intel invpcid edx, xmmword ptr [ecx]
-660f388211|223344556677885f5f5f5f 32 plan9 INVPCID 0(CX), DX
-660f388211|223344556677885f5f5f5f 64 gnu invpcid (%rcx),%rdx
-660f388211|223344556677885f5f5f5f 64 intel invpcid rdx, xmmword ptr [rcx]
-660f388211|223344556677885f5f5f5f 64 plan9 INVPCID 0(CX), DX
-660f38db11|223344556677885f5f5f5f 32 intel aesimc xmm2, xmmword ptr [ecx]
-660f38db11|223344556677885f5f5f5f 32 plan9 AESIMC 0(CX), X2
-660f38db11|223344556677885f5f5f5f 64 gnu aesimc (%rcx),%xmm2
-660f38db11|223344556677885f5f5f5f 64 intel aesimc xmm2, xmmword ptr [rcx]
-660f38db11|223344556677885f5f5f5f 64 plan9 AESIMC 0(CX), X2
-660f38dc11|223344556677885f5f5f5f 32 intel aesenc xmm2, xmmword ptr [ecx]
-660f38dc11|223344556677885f5f5f5f 32 plan9 AESENC 0(CX), X2
-660f38dc11|223344556677885f5f5f5f 64 gnu aesenc (%rcx),%xmm2
-660f38dc11|223344556677885f5f5f5f 64 intel aesenc xmm2, xmmword ptr [rcx]
-660f38dc11|223344556677885f5f5f5f 64 plan9 AESENC 0(CX), X2
-660f38dd11|223344556677885f5f5f5f 32 intel aesenclast xmm2, xmmword ptr [ecx]
-660f38dd11|223344556677885f5f5f5f 32 plan9 AESENCLAST 0(CX), X2
-660f38dd11|223344556677885f5f5f5f 64 gnu aesenclast (%rcx),%xmm2
-660f38dd11|223344556677885f5f5f5f 64 intel aesenclast xmm2, xmmword ptr [rcx]
-660f38dd11|223344556677885f5f5f5f 64 plan9 AESENCLAST 0(CX), X2
-660f38de11|223344556677885f5f5f5f 32 intel aesdec xmm2, xmmword ptr [ecx]
-660f38de11|223344556677885f5f5f5f 32 plan9 AESDEC 0(CX), X2
-660f38de11|223344556677885f5f5f5f 64 gnu aesdec (%rcx),%xmm2
-660f38de11|223344556677885f5f5f5f 64 intel aesdec xmm2, xmmword ptr [rcx]
-660f38de11|223344556677885f5f5f5f 64 plan9 AESDEC 0(CX), X2
-660f38df11|223344556677885f5f5f5f 32 intel aesdeclast xmm2, xmmword ptr [ecx]
-660f38df11|223344556677885f5f5f5f 32 plan9 AESDECLAST 0(CX), X2
-660f38df11|223344556677885f5f5f5f 64 gnu aesdeclast (%rcx),%xmm2
-660f38df11|223344556677885f5f5f5f 64 intel aesdeclast xmm2, xmmword ptr [rcx]
-660f38df11|223344556677885f5f5f5f 64 plan9 AESDECLAST 0(CX), X2
-660f3a081122|3344556677885f5f5f5f 32 intel roundps xmm2, xmmword ptr [ecx], 0x22
-660f3a081122|3344556677885f5f5f5f 32 plan9 ROUNDPS $0x22, 0(CX), X2
-660f3a081122|3344556677885f5f5f5f 64 gnu roundps $0x22,(%rcx),%xmm2
-660f3a081122|3344556677885f5f5f5f 64 intel roundps xmm2, xmmword ptr [rcx], 0x22
-660f3a081122|3344556677885f5f5f5f 64 plan9 ROUNDPS $0x22, 0(CX), X2
-660f3a091122|3344556677885f5f5f5f 32 intel roundpd xmm2, xmmword ptr [ecx], 0x22
-660f3a091122|3344556677885f5f5f5f 32 plan9 ROUNDPD $0x22, 0(CX), X2
-660f3a091122|3344556677885f5f5f5f 64 gnu roundpd $0x22,(%rcx),%xmm2
-660f3a091122|3344556677885f5f5f5f 64 intel roundpd xmm2, xmmword ptr [rcx], 0x22
-660f3a091122|3344556677885f5f5f5f 64 plan9 ROUNDPD $0x22, 0(CX), X2
-660f3a0a1122|3344556677885f5f5f5f 32 intel roundss xmm2, dword ptr [ecx], 0x22
-660f3a0a1122|3344556677885f5f5f5f 32 plan9 ROUNDSS $0x22, 0(CX), X2
-660f3a0a1122|3344556677885f5f5f5f 64 gnu roundss $0x22,(%rcx),%xmm2
-660f3a0a1122|3344556677885f5f5f5f 64 intel roundss xmm2, dword ptr [rcx], 0x22
-660f3a0a1122|3344556677885f5f5f5f 64 plan9 ROUNDSS $0x22, 0(CX), X2
-660f3a0b1122|3344556677885f5f5f5f 32 intel roundsd xmm2, qword ptr [ecx], 0x22
-660f3a0b1122|3344556677885f5f5f5f 32 plan9 ROUNDSD $0x22, 0(CX), X2
-660f3a0b1122|3344556677885f5f5f5f 64 gnu roundsd $0x22,(%rcx),%xmm2
-660f3a0b1122|3344556677885f5f5f5f 64 intel roundsd xmm2, qword ptr [rcx], 0x22
-660f3a0b1122|3344556677885f5f5f5f 64 plan9 ROUNDSD $0x22, 0(CX), X2
-660f3a0c1122|3344556677885f5f5f5f 32 intel blendps xmm2, xmmword ptr [ecx], 0x22
-660f3a0c1122|3344556677885f5f5f5f 32 plan9 BLENDPS $0x22, 0(CX), X2
-660f3a0c1122|3344556677885f5f5f5f 64 gnu blendps $0x22,(%rcx),%xmm2
-660f3a0c1122|3344556677885f5f5f5f 64 intel blendps xmm2, xmmword ptr [rcx], 0x22
-660f3a0c1122|3344556677885f5f5f5f 64 plan9 BLENDPS $0x22, 0(CX), X2
-660f3a0d1122|3344556677885f5f5f5f 32 intel blendpd xmm2, xmmword ptr [ecx], 0x22
-660f3a0d1122|3344556677885f5f5f5f 32 plan9 BLENDPD $0x22, 0(CX), X2
-660f3a0d1122|3344556677885f5f5f5f 64 gnu blendpd $0x22,(%rcx),%xmm2
-660f3a0d1122|3344556677885f5f5f5f 64 intel blendpd xmm2, xmmword ptr [rcx], 0x22
-660f3a0d1122|3344556677885f5f5f5f 64 plan9 BLENDPD $0x22, 0(CX), X2
-660f3a0e1122|3344556677885f5f5f5f 32 intel pblendw xmm2, xmmword ptr [ecx], 0x22
-660f3a0e1122|3344556677885f5f5f5f 32 plan9 PBLENDW $0x22, 0(CX), X2
-660f3a0e1122|3344556677885f5f5f5f 64 gnu pblendw $0x22,(%rcx),%xmm2
-660f3a0e1122|3344556677885f5f5f5f 64 intel pblendw xmm2, xmmword ptr [rcx], 0x22
-660f3a0e1122|3344556677885f5f5f5f 64 plan9 PBLENDW $0x22, 0(CX), X2
-660f3a0f1122|3344556677885f5f5f5f 32 intel palignr xmm2, xmmword ptr [ecx], 0x22
-660f3a0f1122|3344556677885f5f5f5f 32 plan9 PALIGNR $0x22, 0(CX), X2
-660f3a0f1122|3344556677885f5f5f5f 64 gnu palignr $0x22,(%rcx),%xmm2
-660f3a0f1122|3344556677885f5f5f5f 64 intel palignr xmm2, xmmword ptr [rcx], 0x22
-660f3a0f1122|3344556677885f5f5f5f 64 plan9 PALIGNR $0x22, 0(CX), X2
-660f3a141122|3344556677885f5f5f5f 32 intel pextrb byte ptr [ecx], xmm2, 0x22
-660f3a141122|3344556677885f5f5f5f 32 plan9 PEXTRB $0x22, X2, 0(CX)
-660f3a141122|3344556677885f5f5f5f 64 gnu pextrb $0x22,%xmm2,(%rcx)
-660f3a141122|3344556677885f5f5f5f 64 intel pextrb byte ptr [rcx], xmm2, 0x22
-660f3a141122|3344556677885f5f5f5f 64 plan9 PEXTRB $0x22, X2, 0(CX)
-660f3a151122|3344556677885f5f5f5f 32 intel pextrw word ptr [ecx], xmm2, 0x22
-660f3a151122|3344556677885f5f5f5f 32 plan9 PEXTRW $0x22, X2, 0(CX)
-660f3a151122|3344556677885f5f5f5f 64 gnu pextrw $0x22,%xmm2,(%rcx)
-660f3a151122|3344556677885f5f5f5f 64 intel pextrw word ptr [rcx], xmm2, 0x22
-660f3a151122|3344556677885f5f5f5f 64 plan9 PEXTRW $0x22, X2, 0(CX)
-660f3a161122|3344556677885f5f5f5f 32 intel pextrd dword ptr [ecx], xmm2, 0x22
-660f3a161122|3344556677885f5f5f5f 32 plan9 PEXTRD $0x22, X2, 0(CX)
-660f3a161122|3344556677885f5f5f5f 64 gnu pextrd $0x22,%xmm2,(%rcx)
-660f3a161122|3344556677885f5f5f5f 64 intel pextrd dword ptr [rcx], xmm2, 0x22
-660f3a161122|3344556677885f5f5f5f 64 plan9 PEXTRD $0x22, X2, 0(CX)
-660f3a171122|3344556677885f5f5f5f 32 intel extractps dword ptr [ecx], xmm2, 0x22
-660f3a171122|3344556677885f5f5f5f 32 plan9 EXTRACTPS $0x22, X2, 0(CX)
-660f3a171122|3344556677885f5f5f5f 64 gnu extractps $0x22,%xmm2,(%rcx)
-660f3a171122|3344556677885f5f5f5f 64 intel extractps dword ptr [rcx], xmm2, 0x22
-660f3a171122|3344556677885f5f5f5f 64 plan9 EXTRACTPS $0x22, X2, 0(CX)
-660f3a201122|3344556677885f5f5f5f 32 intel pinsrb xmm2, byte ptr [ecx], 0x22
-660f3a201122|3344556677885f5f5f5f 32 plan9 PINSRB $0x22, 0(CX), X2
-660f3a201122|3344556677885f5f5f5f 64 gnu pinsrb $0x22,(%rcx),%xmm2
-660f3a201122|3344556677885f5f5f5f 64 intel pinsrb xmm2, byte ptr [rcx], 0x22
-660f3a201122|3344556677885f5f5f5f 64 plan9 PINSRB $0x22, 0(CX), X2
-660f3a211122|3344556677885f5f5f5f 32 intel insertps xmm2, dword ptr [ecx], 0x22
-660f3a211122|3344556677885f5f5f5f 32 plan9 INSERTPS $0x22, 0(CX), X2
-660f3a211122|3344556677885f5f5f5f 64 gnu insertps $0x22,(%rcx),%xmm2
-660f3a211122|3344556677885f5f5f5f 64 intel insertps xmm2, dword ptr [rcx], 0x22
-660f3a211122|3344556677885f5f5f5f 64 plan9 INSERTPS $0x22, 0(CX), X2
-660f3a221122|3344556677885f5f5f5f 32 intel pinsrd xmm2, dword ptr [ecx], 0x22
-660f3a221122|3344556677885f5f5f5f 32 plan9 PINSRD $0x22, 0(CX), X2
-660f3a221122|3344556677885f5f5f5f 64 gnu pinsrd $0x22,(%rcx),%xmm2
-660f3a221122|3344556677885f5f5f5f 64 intel pinsrd xmm2, dword ptr [rcx], 0x22
-660f3a221122|3344556677885f5f5f5f 64 plan9 PINSRD $0x22, 0(CX), X2
-660f3a401122|3344556677885f5f5f5f 32 intel dpps xmm2, xmmword ptr [ecx], 0x22
-660f3a401122|3344556677885f5f5f5f 32 plan9 DPPS $0x22, 0(CX), X2
-660f3a401122|3344556677885f5f5f5f 64 gnu dpps $0x22,(%rcx),%xmm2
-660f3a401122|3344556677885f5f5f5f 64 intel dpps xmm2, xmmword ptr [rcx], 0x22
-660f3a401122|3344556677885f5f5f5f 64 plan9 DPPS $0x22, 0(CX), X2
-660f3a411122|3344556677885f5f5f5f 32 intel dppd xmm2, xmmword ptr [ecx], 0x22
-660f3a411122|3344556677885f5f5f5f 32 plan9 DPPD $0x22, 0(CX), X2
-660f3a411122|3344556677885f5f5f5f 64 gnu dppd $0x22,(%rcx),%xmm2
-660f3a411122|3344556677885f5f5f5f 64 intel dppd xmm2, xmmword ptr [rcx], 0x22
-660f3a411122|3344556677885f5f5f5f 64 plan9 DPPD $0x22, 0(CX), X2
-660f3a421122|3344556677885f5f5f5f 32 intel mpsadbw xmm2, xmmword ptr [ecx], 0x22
-660f3a421122|3344556677885f5f5f5f 32 plan9 MPSADBW $0x22, 0(CX), X2
-660f3a421122|3344556677885f5f5f5f 64 gnu mpsadbw $0x22,(%rcx),%xmm2
-660f3a421122|3344556677885f5f5f5f 64 intel mpsadbw xmm2, xmmword ptr [rcx], 0x22
-660f3a421122|3344556677885f5f5f5f 64 plan9 MPSADBW $0x22, 0(CX), X2
-660f3a441122|3344556677885f5f5f5f 32 intel pclmulqdq xmm2, xmmword ptr [ecx], 0x22
-660f3a441122|3344556677885f5f5f5f 32 plan9 PCLMULQDQ $0x22, 0(CX), X2
-660f3a441122|3344556677885f5f5f5f 64 gnu pclmulqdq $0x22,(%rcx),%xmm2
-660f3a441122|3344556677885f5f5f5f 64 intel pclmulqdq xmm2, xmmword ptr [rcx], 0x22
-660f3a441122|3344556677885f5f5f5f 64 plan9 PCLMULQDQ $0x22, 0(CX), X2
-660f3a601122|3344556677885f5f5f5f 32 intel pcmpestrm xmm2, xmmword ptr [ecx], 0x22
-660f3a601122|3344556677885f5f5f5f 32 plan9 PCMPESTRM $0x22, 0(CX), X2
-660f3a601122|3344556677885f5f5f5f 64 gnu pcmpestrm $0x22,(%rcx),%xmm2
-660f3a601122|3344556677885f5f5f5f 64 intel pcmpestrm xmm2, xmmword ptr [rcx], 0x22
-660f3a601122|3344556677885f5f5f5f 64 plan9 PCMPESTRM $0x22, 0(CX), X2
-660f3a611122|3344556677885f5f5f5f 32 intel pcmpestri xmm2, xmmword ptr [ecx], 0x22
-660f3a611122|3344556677885f5f5f5f 32 plan9 PCMPESTRI $0x22, 0(CX), X2
-660f3a611122|3344556677885f5f5f5f 64 gnu pcmpestri $0x22,(%rcx),%xmm2
-660f3a611122|3344556677885f5f5f5f 64 intel pcmpestri xmm2, xmmword ptr [rcx], 0x22
-660f3a611122|3344556677885f5f5f5f 64 plan9 PCMPESTRI $0x22, 0(CX), X2
-660f3a621122|3344556677885f5f5f5f 32 intel pcmpistrm xmm2, xmmword ptr [ecx], 0x22
-660f3a621122|3344556677885f5f5f5f 32 plan9 PCMPISTRM $0x22, 0(CX), X2
-660f3a621122|3344556677885f5f5f5f 64 gnu pcmpistrm $0x22,(%rcx),%xmm2
-660f3a621122|3344556677885f5f5f5f 64 intel pcmpistrm xmm2, xmmword ptr [rcx], 0x22
-660f3a621122|3344556677885f5f5f5f 64 plan9 PCMPISTRM $0x22, 0(CX), X2
-660f3a631122|3344556677885f5f5f5f 32 intel pcmpistri xmm2, xmmword ptr [ecx], 0x22
-660f3a631122|3344556677885f5f5f5f 32 plan9 PCMPISTRI $0x22, 0(CX), X2
-660f3a631122|3344556677885f5f5f5f 64 gnu pcmpistri $0x22,(%rcx),%xmm2
-660f3a631122|3344556677885f5f5f5f 64 intel pcmpistri xmm2, xmmword ptr [rcx], 0x22
-660f3a631122|3344556677885f5f5f5f 64 plan9 PCMPISTRI $0x22, 0(CX), X2
-660f3adf1122|3344556677885f5f5f5f 32 intel aeskeygenassist xmm2, xmmword ptr [ecx], 0x22
-660f3adf1122|3344556677885f5f5f5f 32 plan9 AESKEYGENASSIST $0x22, 0(CX), X2
-660f3adf1122|3344556677885f5f5f5f 64 gnu aeskeygenassist $0x22,(%rcx),%xmm2
-660f3adf1122|3344556677885f5f5f5f 64 intel aeskeygenassist xmm2, xmmword ptr [rcx], 0x22
-660f3adf1122|3344556677885f5f5f5f 64 plan9 AESKEYGENASSIST $0x22, 0(CX), X2
-660f4011|223344556677885f5f5f5f5f 32 intel cmovo dx, word ptr [ecx]
-660f4011|223344556677885f5f5f5f5f 32 plan9 CMOVO 0(CX), DX
-660f4011|223344556677885f5f5f5f5f 64 gnu cmovo (%rcx),%dx
-660f4011|223344556677885f5f5f5f5f 64 intel cmovo dx, word ptr [rcx]
-660f4011|223344556677885f5f5f5f5f 64 plan9 CMOVO 0(CX), DX
-660f4111|223344556677885f5f5f5f5f 32 intel cmovno dx, word ptr [ecx]
-660f4111|223344556677885f5f5f5f5f 32 plan9 CMOVNO 0(CX), DX
-660f4111|223344556677885f5f5f5f5f 64 gnu cmovno (%rcx),%dx
-660f4111|223344556677885f5f5f5f5f 64 intel cmovno dx, word ptr [rcx]
-660f4111|223344556677885f5f5f5f5f 64 plan9 CMOVNO 0(CX), DX
-660f4211|223344556677885f5f5f5f5f 32 intel cmovb dx, word ptr [ecx]
-660f4211|223344556677885f5f5f5f5f 32 plan9 CMOVB 0(CX), DX
-660f4211|223344556677885f5f5f5f5f 64 gnu cmovb (%rcx),%dx
-660f4211|223344556677885f5f5f5f5f 64 intel cmovb dx, word ptr [rcx]
-660f4211|223344556677885f5f5f5f5f 64 plan9 CMOVB 0(CX), DX
-660f4311|223344556677885f5f5f5f5f 32 intel cmovnb dx, word ptr [ecx]
-660f4311|223344556677885f5f5f5f5f 32 plan9 CMOVAE 0(CX), DX
-660f4311|223344556677885f5f5f5f5f 64 gnu cmovae (%rcx),%dx
-660f4311|223344556677885f5f5f5f5f 64 intel cmovnb dx, word ptr [rcx]
-660f4311|223344556677885f5f5f5f5f 64 plan9 CMOVAE 0(CX), DX
-660f4411|223344556677885f5f5f5f5f 32 intel cmovz dx, word ptr [ecx]
-660f4411|223344556677885f5f5f5f5f 32 plan9 CMOVE 0(CX), DX
-660f4411|223344556677885f5f5f5f5f 64 gnu cmove (%rcx),%dx
-660f4411|223344556677885f5f5f5f5f 64 intel cmovz dx, word ptr [rcx]
-660f4411|223344556677885f5f5f5f5f 64 plan9 CMOVE 0(CX), DX
-660f4511|223344556677885f5f5f5f5f 32 intel cmovnz dx, word ptr [ecx]
-660f4511|223344556677885f5f5f5f5f 32 plan9 CMOVNE 0(CX), DX
-660f4511|223344556677885f5f5f5f5f 64 gnu cmovne (%rcx),%dx
-660f4511|223344556677885f5f5f5f5f 64 intel cmovnz dx, word ptr [rcx]
-660f4511|223344556677885f5f5f5f5f 64 plan9 CMOVNE 0(CX), DX
-660f4611|223344556677885f5f5f5f5f 32 intel cmovbe dx, word ptr [ecx]
-660f4611|223344556677885f5f5f5f5f 32 plan9 CMOVBE 0(CX), DX
-660f4611|223344556677885f5f5f5f5f 64 gnu cmovbe (%rcx),%dx
-660f4611|223344556677885f5f5f5f5f 64 intel cmovbe dx, word ptr [rcx]
-660f4611|223344556677885f5f5f5f5f 64 plan9 CMOVBE 0(CX), DX
-660f4711|223344556677885f5f5f5f5f 32 intel cmovnbe dx, word ptr [ecx]
-660f4711|223344556677885f5f5f5f5f 32 plan9 CMOVA 0(CX), DX
-660f4711|223344556677885f5f5f5f5f 64 gnu cmova (%rcx),%dx
-660f4711|223344556677885f5f5f5f5f 64 intel cmovnbe dx, word ptr [rcx]
-660f4711|223344556677885f5f5f5f5f 64 plan9 CMOVA 0(CX), DX
-660f4811|223344556677885f5f5f5f5f 32 intel cmovs dx, word ptr [ecx]
-660f4811|223344556677885f5f5f5f5f 32 plan9 CMOVS 0(CX), DX
-660f4811|223344556677885f5f5f5f5f 64 gnu cmovs (%rcx),%dx
-660f4811|223344556677885f5f5f5f5f 64 intel cmovs dx, word ptr [rcx]
-660f4811|223344556677885f5f5f5f5f 64 plan9 CMOVS 0(CX), DX
-660f4911|223344556677885f5f5f5f5f 32 intel cmovns dx, word ptr [ecx]
-660f4911|223344556677885f5f5f5f5f 32 plan9 CMOVNS 0(CX), DX
-660f4911|223344556677885f5f5f5f5f 64 gnu cmovns (%rcx),%dx
-660f4911|223344556677885f5f5f5f5f 64 intel cmovns dx, word ptr [rcx]
-660f4911|223344556677885f5f5f5f5f 64 plan9 CMOVNS 0(CX), DX
-660f4a11|223344556677885f5f5f5f5f 32 intel cmovp dx, word ptr [ecx]
-660f4a11|223344556677885f5f5f5f5f 32 plan9 CMOVP 0(CX), DX
-660f4a11|223344556677885f5f5f5f5f 64 gnu cmovp (%rcx),%dx
-660f4a11|223344556677885f5f5f5f5f 64 intel cmovp dx, word ptr [rcx]
-660f4a11|223344556677885f5f5f5f5f 64 plan9 CMOVP 0(CX), DX
-660f4b11|223344556677885f5f5f5f5f 32 intel cmovnp dx, word ptr [ecx]
-660f4b11|223344556677885f5f5f5f5f 32 plan9 CMOVNP 0(CX), DX
-660f4b11|223344556677885f5f5f5f5f 64 gnu cmovnp (%rcx),%dx
-660f4b11|223344556677885f5f5f5f5f 64 intel cmovnp dx, word ptr [rcx]
-660f4b11|223344556677885f5f5f5f5f 64 plan9 CMOVNP 0(CX), DX
-660f4c11|223344556677885f5f5f5f5f 32 intel cmovl dx, word ptr [ecx]
-660f4c11|223344556677885f5f5f5f5f 32 plan9 CMOVL 0(CX), DX
-660f4c11|223344556677885f5f5f5f5f 64 gnu cmovl (%rcx),%dx
-660f4c11|223344556677885f5f5f5f5f 64 intel cmovl dx, word ptr [rcx]
-660f4c11|223344556677885f5f5f5f5f 64 plan9 CMOVL 0(CX), DX
-660f4d11|223344556677885f5f5f5f5f 32 intel cmovnl dx, word ptr [ecx]
-660f4d11|223344556677885f5f5f5f5f 32 plan9 CMOVGE 0(CX), DX
-660f4d11|223344556677885f5f5f5f5f 64 gnu cmovge (%rcx),%dx
-660f4d11|223344556677885f5f5f5f5f 64 intel cmovnl dx, word ptr [rcx]
-660f4d11|223344556677885f5f5f5f5f 64 plan9 CMOVGE 0(CX), DX
-660f4e11|223344556677885f5f5f5f5f 32 intel cmovle dx, word ptr [ecx]
-660f4e11|223344556677885f5f5f5f5f 32 plan9 CMOVLE 0(CX), DX
-660f4e11|223344556677885f5f5f5f5f 64 gnu cmovle (%rcx),%dx
-660f4e11|223344556677885f5f5f5f5f 64 intel cmovle dx, word ptr [rcx]
-660f4e11|223344556677885f5f5f5f5f 64 plan9 CMOVLE 0(CX), DX
-660f4f11|223344556677885f5f5f5f5f 32 intel cmovnle dx, word ptr [ecx]
-660f4f11|223344556677885f5f5f5f5f 32 plan9 CMOVG 0(CX), DX
-660f4f11|223344556677885f5f5f5f5f 64 gnu cmovg (%rcx),%dx
-660f4f11|223344556677885f5f5f5f5f 64 intel cmovnle dx, word ptr [rcx]
-660f4f11|223344556677885f5f5f5f5f 64 plan9 CMOVG 0(CX), DX
-660f50c0|11223344556677885f5f5f5f 32 intel movmskpd eax, xmm0
-660f50c0|11223344556677885f5f5f5f 32 plan9 MOVMSKPD X0, AX
-660f50c0|11223344556677885f5f5f5f 64 gnu movmskpd %xmm0,%eax
-660f50c0|11223344556677885f5f5f5f 64 intel movmskpd eax, xmm0
-660f50c0|11223344556677885f5f5f5f 64 plan9 MOVMSKPD X0, AX
-660f5111|223344556677885f5f5f5f5f 32 intel sqrtpd xmm2, xmmword ptr [ecx]
-660f5111|223344556677885f5f5f5f5f 32 plan9 SQRTPD 0(CX), X2
-660f5111|223344556677885f5f5f5f5f 64 gnu sqrtpd (%rcx),%xmm2
-660f5111|223344556677885f5f5f5f5f 64 intel sqrtpd xmm2, xmmword ptr [rcx]
-660f5111|223344556677885f5f5f5f5f 64 plan9 SQRTPD 0(CX), X2
-660f5411|223344556677885f5f5f5f5f 32 intel andpd xmm2, xmmword ptr [ecx]
-660f5411|223344556677885f5f5f5f5f 32 plan9 ANDPD 0(CX), X2
-660f5411|223344556677885f5f5f5f5f 64 gnu andpd (%rcx),%xmm2
-660f5411|223344556677885f5f5f5f5f 64 intel andpd xmm2, xmmword ptr [rcx]
-660f5411|223344556677885f5f5f5f5f 64 plan9 ANDPD 0(CX), X2
-660f5511|223344556677885f5f5f5f5f 32 intel andnpd xmm2, xmmword ptr [ecx]
-660f5511|223344556677885f5f5f5f5f 32 plan9 ANDNPD 0(CX), X2
-660f5511|223344556677885f5f5f5f5f 64 gnu andnpd (%rcx),%xmm2
-660f5511|223344556677885f5f5f5f5f 64 intel andnpd xmm2, xmmword ptr [rcx]
-660f5511|223344556677885f5f5f5f5f 64 plan9 ANDNPD 0(CX), X2
-660f5611|223344556677885f5f5f5f5f 32 intel orpd xmm2, xmmword ptr [ecx]
-660f5611|223344556677885f5f5f5f5f 32 plan9 ORPD 0(CX), X2
-660f5611|223344556677885f5f5f5f5f 64 gnu orpd (%rcx),%xmm2
-660f5611|223344556677885f5f5f5f5f 64 intel orpd xmm2, xmmword ptr [rcx]
-660f5611|223344556677885f5f5f5f5f 64 plan9 ORPD 0(CX), X2
-660f5711|223344556677885f5f5f5f5f 32 intel xorpd xmm2, xmmword ptr [ecx]
-660f5711|223344556677885f5f5f5f5f 32 plan9 XORPD 0(CX), X2
-660f5711|223344556677885f5f5f5f5f 64 gnu xorpd (%rcx),%xmm2
-660f5711|223344556677885f5f5f5f5f 64 intel xorpd xmm2, xmmword ptr [rcx]
-660f5711|223344556677885f5f5f5f5f 64 plan9 XORPD 0(CX), X2
-660f5811|223344556677885f5f5f5f5f 32 intel addpd xmm2, xmmword ptr [ecx]
-660f5811|223344556677885f5f5f5f5f 32 plan9 ADDPD 0(CX), X2
-660f5811|223344556677885f5f5f5f5f 64 gnu addpd (%rcx),%xmm2
-660f5811|223344556677885f5f5f5f5f 64 intel addpd xmm2, xmmword ptr [rcx]
-660f5811|223344556677885f5f5f5f5f 64 plan9 ADDPD 0(CX), X2
-660f5911|223344556677885f5f5f5f5f 32 intel mulpd xmm2, xmmword ptr [ecx]
-660f5911|223344556677885f5f5f5f5f 32 plan9 MULPD 0(CX), X2
-660f5911|223344556677885f5f5f5f5f 64 gnu mulpd (%rcx),%xmm2
-660f5911|223344556677885f5f5f5f5f 64 intel mulpd xmm2, xmmword ptr [rcx]
-660f5911|223344556677885f5f5f5f5f 64 plan9 MULPD 0(CX), X2
-660f5a11|223344556677885f5f5f5f5f 32 intel cvtpd2ps xmm2, xmmword ptr [ecx]
-660f5a11|223344556677885f5f5f5f5f 32 plan9 CVTPD2PS 0(CX), X2
-660f5a11|223344556677885f5f5f5f5f 64 gnu cvtpd2ps (%rcx),%xmm2
-660f5a11|223344556677885f5f5f5f5f 64 intel cvtpd2ps xmm2, xmmword ptr [rcx]
-660f5a11|223344556677885f5f5f5f5f 64 plan9 CVTPD2PS 0(CX), X2
-660f5b11|223344556677885f5f5f5f5f 32 intel cvtps2dq xmm2, xmmword ptr [ecx]
-660f5b11|223344556677885f5f5f5f5f 32 plan9 CVTPS2DQ 0(CX), X2
-660f5b11|223344556677885f5f5f5f5f 64 gnu cvtps2dq (%rcx),%xmm2
-660f5b11|223344556677885f5f5f5f5f 64 intel cvtps2dq xmm2, xmmword ptr [rcx]
-660f5b11|223344556677885f5f5f5f5f 64 plan9 CVTPS2DQ 0(CX), X2
-660f5c11|223344556677885f5f5f5f5f 32 intel subpd xmm2, xmmword ptr [ecx]
-660f5c11|223344556677885f5f5f5f5f 32 plan9 SUBPD 0(CX), X2
-660f5c11|223344556677885f5f5f5f5f 64 gnu subpd (%rcx),%xmm2
-660f5c11|223344556677885f5f5f5f5f 64 intel subpd xmm2, xmmword ptr [rcx]
-660f5c11|223344556677885f5f5f5f5f 64 plan9 SUBPD 0(CX), X2
-660f5d11|223344556677885f5f5f5f5f 32 intel minpd xmm2, xmmword ptr [ecx]
-660f5d11|223344556677885f5f5f5f5f 32 plan9 MINPD 0(CX), X2
-660f5d11|223344556677885f5f5f5f5f 64 gnu minpd (%rcx),%xmm2
-660f5d11|223344556677885f5f5f5f5f 64 intel minpd xmm2, xmmword ptr [rcx]
-660f5d11|223344556677885f5f5f5f5f 64 plan9 MINPD 0(CX), X2
-660f5e11|223344556677885f5f5f5f5f 32 intel divpd xmm2, xmmword ptr [ecx]
-660f5e11|223344556677885f5f5f5f5f 32 plan9 DIVPD 0(CX), X2
-660f5e11|223344556677885f5f5f5f5f 64 gnu divpd (%rcx),%xmm2
-660f5e11|223344556677885f5f5f5f5f 64 intel divpd xmm2, xmmword ptr [rcx]
-660f5e11|223344556677885f5f5f5f5f 64 plan9 DIVPD 0(CX), X2
-660f5f11|223344556677885f5f5f5f5f 32 intel maxpd xmm2, xmmword ptr [ecx]
-660f5f11|223344556677885f5f5f5f5f 32 plan9 MAXPD 0(CX), X2
-660f5f11|223344556677885f5f5f5f5f 64 gnu maxpd (%rcx),%xmm2
-660f5f11|223344556677885f5f5f5f5f 64 intel maxpd xmm2, xmmword ptr [rcx]
-660f5f11|223344556677885f5f5f5f5f 64 plan9 MAXPD 0(CX), X2
-660f6011|223344556677885f5f5f5f5f 32 intel punpcklbw xmm2, xmmword ptr [ecx]
-660f6011|223344556677885f5f5f5f5f 32 plan9 PUNPCKLBW 0(CX), X2
-660f6011|223344556677885f5f5f5f5f 64 gnu punpcklbw (%rcx),%xmm2
-660f6011|223344556677885f5f5f5f5f 64 intel punpcklbw xmm2, xmmword ptr [rcx]
-660f6011|223344556677885f5f5f5f5f 64 plan9 PUNPCKLBW 0(CX), X2
-660f6111|223344556677885f5f5f5f5f 32 intel punpcklwd xmm2, xmmword ptr [ecx]
-660f6111|223344556677885f5f5f5f5f 32 plan9 PUNPCKLWD 0(CX), X2
-660f6111|223344556677885f5f5f5f5f 64 gnu punpcklwd (%rcx),%xmm2
-660f6111|223344556677885f5f5f5f5f 64 intel punpcklwd xmm2, xmmword ptr [rcx]
-660f6111|223344556677885f5f5f5f5f 64 plan9 PUNPCKLWD 0(CX), X2
-660f6211|223344556677885f5f5f5f5f 32 intel punpckldq xmm2, xmmword ptr [ecx]
-660f6211|223344556677885f5f5f5f5f 32 plan9 PUNPCKLDQ 0(CX), X2
-660f6211|223344556677885f5f5f5f5f 64 gnu punpckldq (%rcx),%xmm2
-660f6211|223344556677885f5f5f5f5f 64 intel punpckldq xmm2, xmmword ptr [rcx]
-660f6211|223344556677885f5f5f5f5f 64 plan9 PUNPCKLDQ 0(CX), X2
-660f6311|223344556677885f5f5f5f5f 32 intel packsswb xmm2, xmmword ptr [ecx]
-660f6311|223344556677885f5f5f5f5f 32 plan9 PACKSSWB 0(CX), X2
-660f6311|223344556677885f5f5f5f5f 64 gnu packsswb (%rcx),%xmm2
-660f6311|223344556677885f5f5f5f5f 64 intel packsswb xmm2, xmmword ptr [rcx]
-660f6311|223344556677885f5f5f5f5f 64 plan9 PACKSSWB 0(CX), X2
-660f6411|223344556677885f5f5f5f5f 32 intel pcmpgtb xmm2, xmmword ptr [ecx]
-660f6411|223344556677885f5f5f5f5f 32 plan9 PCMPGTB 0(CX), X2
-660f6411|223344556677885f5f5f5f5f 64 gnu pcmpgtb (%rcx),%xmm2
-660f6411|223344556677885f5f5f5f5f 64 intel pcmpgtb xmm2, xmmword ptr [rcx]
-660f6411|223344556677885f5f5f5f5f 64 plan9 PCMPGTB 0(CX), X2
-660f6511|223344556677885f5f5f5f5f 32 intel pcmpgtw xmm2, xmmword ptr [ecx]
-660f6511|223344556677885f5f5f5f5f 32 plan9 PCMPGTW 0(CX), X2
-660f6511|223344556677885f5f5f5f5f 64 gnu pcmpgtw (%rcx),%xmm2
-660f6511|223344556677885f5f5f5f5f 64 intel pcmpgtw xmm2, xmmword ptr [rcx]
-660f6511|223344556677885f5f5f5f5f 64 plan9 PCMPGTW 0(CX), X2
-660f6611|223344556677885f5f5f5f5f 32 intel pcmpgtd xmm2, xmmword ptr [ecx]
-660f6611|223344556677885f5f5f5f5f 32 plan9 PCMPGTD 0(CX), X2
-660f6611|223344556677885f5f5f5f5f 64 gnu pcmpgtd (%rcx),%xmm2
-660f6611|223344556677885f5f5f5f5f 64 intel pcmpgtd xmm2, xmmword ptr [rcx]
-660f6611|223344556677885f5f5f5f5f 64 plan9 PCMPGTD 0(CX), X2
-660f6711|223344556677885f5f5f5f5f 32 intel packuswb xmm2, xmmword ptr [ecx]
-660f6711|223344556677885f5f5f5f5f 32 plan9 PACKUSWB 0(CX), X2
-660f6711|223344556677885f5f5f5f5f 64 gnu packuswb (%rcx),%xmm2
-660f6711|223344556677885f5f5f5f5f 64 intel packuswb xmm2, xmmword ptr [rcx]
-660f6711|223344556677885f5f5f5f5f 64 plan9 PACKUSWB 0(CX), X2
-660f6811|223344556677885f5f5f5f5f 32 intel punpckhbw xmm2, xmmword ptr [ecx]
-660f6811|223344556677885f5f5f5f5f 32 plan9 PUNPCKHBW 0(CX), X2
-660f6811|223344556677885f5f5f5f5f 64 gnu punpckhbw (%rcx),%xmm2
-660f6811|223344556677885f5f5f5f5f 64 intel punpckhbw xmm2, xmmword ptr [rcx]
-660f6811|223344556677885f5f5f5f5f 64 plan9 PUNPCKHBW 0(CX), X2
-660f6911|223344556677885f5f5f5f5f 32 intel punpckhwd xmm2, xmmword ptr [ecx]
-660f6911|223344556677885f5f5f5f5f 32 plan9 PUNPCKHWD 0(CX), X2
-660f6911|223344556677885f5f5f5f5f 64 gnu punpckhwd (%rcx),%xmm2
-660f6911|223344556677885f5f5f5f5f 64 intel punpckhwd xmm2, xmmword ptr [rcx]
-660f6911|223344556677885f5f5f5f5f 64 plan9 PUNPCKHWD 0(CX), X2
-660f6a11|223344556677885f5f5f5f5f 32 intel punpckhdq xmm2, xmmword ptr [ecx]
-660f6a11|223344556677885f5f5f5f5f 32 plan9 PUNPCKHDQ 0(CX), X2
-660f6a11|223344556677885f5f5f5f5f 64 gnu punpckhdq (%rcx),%xmm2
-660f6a11|223344556677885f5f5f5f5f 64 intel punpckhdq xmm2, xmmword ptr [rcx]
-660f6a11|223344556677885f5f5f5f5f 64 plan9 PUNPCKHDQ 0(CX), X2
-660f6b11|223344556677885f5f5f5f5f 32 intel packssdw xmm2, xmmword ptr [ecx]
-660f6b11|223344556677885f5f5f5f5f 32 plan9 PACKSSDW 0(CX), X2
-660f6b11|223344556677885f5f5f5f5f 64 gnu packssdw (%rcx),%xmm2
-660f6b11|223344556677885f5f5f5f5f 64 intel packssdw xmm2, xmmword ptr [rcx]
-660f6b11|223344556677885f5f5f5f5f 64 plan9 PACKSSDW 0(CX), X2
-660f6c11|223344556677885f5f5f5f5f 32 intel punpcklqdq xmm2, xmmword ptr [ecx]
-660f6c11|223344556677885f5f5f5f5f 32 plan9 PUNPCKLQDQ 0(CX), X2
-660f6c11|223344556677885f5f5f5f5f 64 gnu punpcklqdq (%rcx),%xmm2
-660f6c11|223344556677885f5f5f5f5f 64 intel punpcklqdq xmm2, xmmword ptr [rcx]
-660f6c11|223344556677885f5f5f5f5f 64 plan9 PUNPCKLQDQ 0(CX), X2
-660f6d11|223344556677885f5f5f5f5f 32 intel punpckhqdq xmm2, xmmword ptr [ecx]
-660f6d11|223344556677885f5f5f5f5f 32 plan9 PUNPCKHQDQ 0(CX), X2
-660f6d11|223344556677885f5f5f5f5f 64 gnu punpckhqdq (%rcx),%xmm2
-660f6d11|223344556677885f5f5f5f5f 64 intel punpckhqdq xmm2, xmmword ptr [rcx]
-660f6d11|223344556677885f5f5f5f5f 64 plan9 PUNPCKHQDQ 0(CX), X2
-660f6e11|223344556677885f5f5f5f5f 32 intel movd xmm2, dword ptr [ecx]
-660f6e11|223344556677885f5f5f5f5f 32 plan9 MOVD 0(CX), X2
-660f6e11|223344556677885f5f5f5f5f 64 gnu movd (%rcx),%xmm2
-660f6e11|223344556677885f5f5f5f5f 64 intel movd xmm2, dword ptr [rcx]
-660f6e11|223344556677885f5f5f5f5f 64 plan9 MOVD 0(CX), X2
-660f6f11|223344556677885f5f5f5f5f 32 intel movdqa xmm2, xmmword ptr [ecx]
-660f6f11|223344556677885f5f5f5f5f 32 plan9 MOVDQA 0(CX), X2
-660f6f11|223344556677885f5f5f5f5f 64 gnu movdqa (%rcx),%xmm2
-660f6f11|223344556677885f5f5f5f5f 64 intel movdqa xmm2, xmmword ptr [rcx]
-660f6f11|223344556677885f5f5f5f5f 64 plan9 MOVDQA 0(CX), X2
-660f701122|3344556677885f5f5f5f5f 32 intel pshufd xmm2, xmmword ptr [ecx], 0x22
-660f701122|3344556677885f5f5f5f5f 32 plan9 PSHUFD $0x22, 0(CX), X2
-660f701122|3344556677885f5f5f5f5f 64 gnu pshufd $0x22,(%rcx),%xmm2
-660f701122|3344556677885f5f5f5f5f 64 intel pshufd xmm2, xmmword ptr [rcx], 0x22
-660f701122|3344556677885f5f5f5f5f 64 plan9 PSHUFD $0x22, 0(CX), X2
-660f71d011|223344556677885f5f5f5f 32 intel psrlw xmm0, 0x11
-660f71d011|223344556677885f5f5f5f 32 plan9 PSRLW $0x11, X0
-660f71d011|223344556677885f5f5f5f 64 gnu psrlw $0x11,%xmm0
-660f71d011|223344556677885f5f5f5f 64 intel psrlw xmm0, 0x11
-660f71d011|223344556677885f5f5f5f 64 plan9 PSRLW $0x11, X0
-660f71e011|223344556677885f5f5f5f 32 intel psraw xmm0, 0x11
-660f71e011|223344556677885f5f5f5f 32 plan9 PSRAW $0x11, X0
-660f71e011|223344556677885f5f5f5f 64 gnu psraw $0x11,%xmm0
-660f71e011|223344556677885f5f5f5f 64 intel psraw xmm0, 0x11
-660f71e011|223344556677885f5f5f5f 64 plan9 PSRAW $0x11, X0
-660f71f011|223344556677885f5f5f5f 32 intel psllw xmm0, 0x11
-660f71f011|223344556677885f5f5f5f 32 plan9 PSLLW $0x11, X0
-660f71f011|223344556677885f5f5f5f 64 gnu psllw $0x11,%xmm0
-660f71f011|223344556677885f5f5f5f 64 intel psllw xmm0, 0x11
-660f71f011|223344556677885f5f5f5f 64 plan9 PSLLW $0x11, X0
-660f72d011|223344556677885f5f5f5f 32 intel psrld xmm0, 0x11
-660f72d011|223344556677885f5f5f5f 32 plan9 PSRLD $0x11, X0
-660f72d011|223344556677885f5f5f5f 64 gnu psrld $0x11,%xmm0
-660f72d011|223344556677885f5f5f5f 64 intel psrld xmm0, 0x11
-660f72d011|223344556677885f5f5f5f 64 plan9 PSRLD $0x11, X0
-660f72e011|223344556677885f5f5f5f 32 intel psrad xmm0, 0x11
-660f72e011|223344556677885f5f5f5f 32 plan9 PSRAD $0x11, X0
-660f72e011|223344556677885f5f5f5f 64 gnu psrad $0x11,%xmm0
-660f72e011|223344556677885f5f5f5f 64 intel psrad xmm0, 0x11
-660f72e011|223344556677885f5f5f5f 64 plan9 PSRAD $0x11, X0
-660f72f011|223344556677885f5f5f5f 32 intel pslld xmm0, 0x11
-660f72f011|223344556677885f5f5f5f 32 plan9 PSLLD $0x11, X0
-660f72f011|223344556677885f5f5f5f 64 gnu pslld $0x11,%xmm0
-660f72f011|223344556677885f5f5f5f 64 intel pslld xmm0, 0x11
-660f72f011|223344556677885f5f5f5f 64 plan9 PSLLD $0x11, X0
-660f73d011|223344556677885f5f5f5f 32 intel psrlq xmm0, 0x11
-660f73d011|223344556677885f5f5f5f 32 plan9 PSRLQ $0x11, X0
-660f73d011|223344556677885f5f5f5f 64 gnu psrlq $0x11,%xmm0
-660f73d011|223344556677885f5f5f5f 64 intel psrlq xmm0, 0x11
-660f73d011|223344556677885f5f5f5f 64 plan9 PSRLQ $0x11, X0
-660f73d811|223344556677885f5f5f5f 32 intel psrldq xmm0, 0x11
-660f73d811|223344556677885f5f5f5f 32 plan9 PSRLDQ $0x11, X0
-660f73d811|223344556677885f5f5f5f 64 gnu psrldq $0x11,%xmm0
-660f73d811|223344556677885f5f5f5f 64 intel psrldq xmm0, 0x11
-660f73d811|223344556677885f5f5f5f 64 plan9 PSRLDQ $0x11, X0
-660f73f011|223344556677885f5f5f5f 32 intel psllq xmm0, 0x11
-660f73f011|223344556677885f5f5f5f 32 plan9 PSLLQ $0x11, X0
-660f73f011|223344556677885f5f5f5f 64 gnu psllq $0x11,%xmm0
-660f73f011|223344556677885f5f5f5f 64 intel psllq xmm0, 0x11
-660f73f011|223344556677885f5f5f5f 64 plan9 PSLLQ $0x11, X0
-660f73f811|223344556677885f5f5f5f 32 intel pslldq xmm0, 0x11
-660f73f811|223344556677885f5f5f5f 32 plan9 PSLLDQ $0x11, X0
-660f73f811|223344556677885f5f5f5f 64 gnu pslldq $0x11,%xmm0
-660f73f811|223344556677885f5f5f5f 64 intel pslldq xmm0, 0x11
-660f73f811|223344556677885f5f5f5f 64 plan9 PSLLDQ $0x11, X0
-660f7411|223344556677885f5f5f5f5f 32 intel pcmpeqb xmm2, xmmword ptr [ecx]
-660f7411|223344556677885f5f5f5f5f 32 plan9 PCMPEQB 0(CX), X2
-660f7411|223344556677885f5f5f5f5f 64 gnu pcmpeqb (%rcx),%xmm2
-660f7411|223344556677885f5f5f5f5f 64 intel pcmpeqb xmm2, xmmword ptr [rcx]
-660f7411|223344556677885f5f5f5f5f 64 plan9 PCMPEQB 0(CX), X2
-660f7511|223344556677885f5f5f5f5f 32 intel pcmpeqw xmm2, xmmword ptr [ecx]
-660f7511|223344556677885f5f5f5f5f 32 plan9 PCMPEQW 0(CX), X2
-660f7511|223344556677885f5f5f5f5f 64 gnu pcmpeqw (%rcx),%xmm2
-660f7511|223344556677885f5f5f5f5f 64 intel pcmpeqw xmm2, xmmword ptr [rcx]
-660f7511|223344556677885f5f5f5f5f 64 plan9 PCMPEQW 0(CX), X2
-660f7611|223344556677885f5f5f5f5f 32 intel pcmpeqd xmm2, xmmword ptr [ecx]
-660f7611|223344556677885f5f5f5f5f 32 plan9 PCMPEQD 0(CX), X2
-660f7611|223344556677885f5f5f5f5f 64 gnu pcmpeqd (%rcx),%xmm2
-660f7611|223344556677885f5f5f5f5f 64 intel pcmpeqd xmm2, xmmword ptr [rcx]
-660f7611|223344556677885f5f5f5f5f 64 plan9 PCMPEQD 0(CX), X2
-660f7c11|223344556677885f5f5f5f5f 32 intel haddpd xmm2, xmmword ptr [ecx]
-660f7c11|223344556677885f5f5f5f5f 32 plan9 HADDPD 0(CX), X2
-660f7c11|223344556677885f5f5f5f5f 64 gnu haddpd (%rcx),%xmm2
-660f7c11|223344556677885f5f5f5f5f 64 intel haddpd xmm2, xmmword ptr [rcx]
-660f7c11|223344556677885f5f5f5f5f 64 plan9 HADDPD 0(CX), X2
-660f7d11|223344556677885f5f5f5f5f 32 intel hsubpd xmm2, xmmword ptr [ecx]
-660f7d11|223344556677885f5f5f5f5f 32 plan9 HSUBPD 0(CX), X2
-660f7d11|223344556677885f5f5f5f5f 64 gnu hsubpd (%rcx),%xmm2
-660f7d11|223344556677885f5f5f5f5f 64 intel hsubpd xmm2, xmmword ptr [rcx]
-660f7d11|223344556677885f5f5f5f5f 64 plan9 HSUBPD 0(CX), X2
-660f7e11|223344556677885f5f5f5f5f 32 intel movd dword ptr [ecx], xmm2
-660f7e11|223344556677885f5f5f5f5f 32 plan9 MOVD X2, 0(CX)
-660f7e11|223344556677885f5f5f5f5f 64 gnu movd %xmm2,(%rcx)
-660f7e11|223344556677885f5f5f5f5f 64 intel movd dword ptr [rcx], xmm2
-660f7e11|223344556677885f5f5f5f5f 64 plan9 MOVD X2, 0(CX)
-660f7f11|223344556677885f5f5f5f5f 32 intel movdqa xmmword ptr [ecx], xmm2
-660f7f11|223344556677885f5f5f5f5f 32 plan9 MOVDQA X2, 0(CX)
-660f7f11|223344556677885f5f5f5f5f 64 gnu movdqa %xmm2,(%rcx)
-660f7f11|223344556677885f5f5f5f5f 64 intel movdqa xmmword ptr [rcx], xmm2
-660f7f11|223344556677885f5f5f5f5f 64 plan9 MOVDQA X2, 0(CX)
-660f8011223344|556677885f5f5f5f5f 64 gnu jo .+0x44332211
-660f8011223344|556677885f5f5f5f5f 64 intel jo .+0x44332211
-660f8011223344|556677885f5f5f5f5f 64 plan9 JO .+1144201745
-660f801122|3344556677885f5f5f5f5f 32 intel jo .+0x2211
-660f801122|3344556677885f5f5f5f5f 32 plan9 JO .+8721
-660f8111223344|556677885f5f5f5f5f 64 gnu jno .+0x44332211
-660f8111223344|556677885f5f5f5f5f 64 intel jno .+0x44332211
-660f8111223344|556677885f5f5f5f5f 64 plan9 JNO .+1144201745
-660f811122|3344556677885f5f5f5f5f 32 intel jno .+0x2211
-660f811122|3344556677885f5f5f5f5f 32 plan9 JNO .+8721
-660f8211223344|556677885f5f5f5f5f 64 gnu jb .+0x44332211
-660f8211223344|556677885f5f5f5f5f 64 intel jb .+0x44332211
-660f8211223344|556677885f5f5f5f5f 64 plan9 JB .+1144201745
-660f821122|3344556677885f5f5f5f5f 32 intel jb .+0x2211
-660f821122|3344556677885f5f5f5f5f 32 plan9 JB .+8721
-660f8311223344|556677885f5f5f5f5f 64 gnu jae .+0x44332211
-660f8311223344|556677885f5f5f5f5f 64 intel jnb .+0x44332211
-660f8311223344|556677885f5f5f5f5f 64 plan9 JAE .+1144201745
-660f831122|3344556677885f5f5f5f5f 32 intel jnb .+0x2211
-660f831122|3344556677885f5f5f5f5f 32 plan9 JAE .+8721
-660f8411223344|556677885f5f5f5f5f 64 gnu je .+0x44332211
-660f8411223344|556677885f5f5f5f5f 64 intel jz .+0x44332211
-660f8411223344|556677885f5f5f5f5f 64 plan9 JE .+1144201745
-660f841122|3344556677885f5f5f5f5f 32 intel jz .+0x2211
-660f841122|3344556677885f5f5f5f5f 32 plan9 JE .+8721
-660f8511223344|556677885f5f5f5f5f 64 gnu jne .+0x44332211
-660f8511223344|556677885f5f5f5f5f 64 intel jnz .+0x44332211
-660f8511223344|556677885f5f5f5f5f 64 plan9 JNE .+1144201745
-660f851122|3344556677885f5f5f5f5f 32 intel jnz .+0x2211
-660f851122|3344556677885f5f5f5f5f 32 plan9 JNE .+8721
-660f8611223344|556677885f5f5f5f5f 64 gnu jbe .+0x44332211
-660f8611223344|556677885f5f5f5f5f 64 intel jbe .+0x44332211
-660f8611223344|556677885f5f5f5f5f 64 plan9 JBE .+1144201745
-660f861122|3344556677885f5f5f5f5f 32 intel jbe .+0x2211
-660f861122|3344556677885f5f5f5f5f 32 plan9 JBE .+8721
-660f8711223344|556677885f5f5f5f5f 64 gnu ja .+0x44332211
-660f8711223344|556677885f5f5f5f5f 64 intel jnbe .+0x44332211
-660f8711223344|556677885f5f5f5f5f 64 plan9 JA .+1144201745
-660f871122|3344556677885f5f5f5f5f 32 intel jnbe .+0x2211
-660f871122|3344556677885f5f5f5f5f 32 plan9 JA .+8721
-660f8811223344|556677885f5f5f5f5f 64 gnu js .+0x44332211
-660f8811223344|556677885f5f5f5f5f 64 intel js .+0x44332211
-660f8811223344|556677885f5f5f5f5f 64 plan9 JS .+1144201745
-660f881122|3344556677885f5f5f5f5f 32 intel js .+0x2211
-660f881122|3344556677885f5f5f5f5f 32 plan9 JS .+8721
-660f8911223344|556677885f5f5f5f5f 64 gnu jns .+0x44332211
-660f8911223344|556677885f5f5f5f5f 64 intel jns .+0x44332211
-660f8911223344|556677885f5f5f5f5f 64 plan9 JNS .+1144201745
-660f891122|3344556677885f5f5f5f5f 32 intel jns .+0x2211
-660f891122|3344556677885f5f5f5f5f 32 plan9 JNS .+8721
-660f8a11223344|556677885f5f5f5f5f 64 gnu jp .+0x44332211
-660f8a11223344|556677885f5f5f5f5f 64 intel jp .+0x44332211
-660f8a11223344|556677885f5f5f5f5f 64 plan9 JP .+1144201745
-660f8a1122|3344556677885f5f5f5f5f 32 intel jp .+0x2211
-660f8a1122|3344556677885f5f5f5f5f 32 plan9 JP .+8721
-660f8b11223344|556677885f5f5f5f5f 64 gnu jnp .+0x44332211
-660f8b11223344|556677885f5f5f5f5f 64 intel jnp .+0x44332211
-660f8b11223344|556677885f5f5f5f5f 64 plan9 JNP .+1144201745
-660f8b1122|3344556677885f5f5f5f5f 32 intel jnp .+0x2211
-660f8b1122|3344556677885f5f5f5f5f 32 plan9 JNP .+8721
-660f8c11223344|556677885f5f5f5f5f 64 gnu jl .+0x44332211
-660f8c11223344|556677885f5f5f5f5f 64 intel jl .+0x44332211
-660f8c11223344|556677885f5f5f5f5f 64 plan9 JL .+1144201745
-660f8c1122|3344556677885f5f5f5f5f 32 intel jl .+0x2211
-660f8c1122|3344556677885f5f5f5f5f 32 plan9 JL .+8721
-660f8d11223344|556677885f5f5f5f5f 64 gnu jge .+0x44332211
-660f8d11223344|556677885f5f5f5f5f 64 intel jnl .+0x44332211
-660f8d11223344|556677885f5f5f5f5f 64 plan9 JGE .+1144201745
-660f8d1122|3344556677885f5f5f5f5f 32 intel jnl .+0x2211
-660f8d1122|3344556677885f5f5f5f5f 32 plan9 JGE .+8721
-660f8e11223344|556677885f5f5f5f5f 64 gnu jle .+0x44332211
-660f8e11223344|556677885f5f5f5f5f 64 intel jle .+0x44332211
-660f8e11223344|556677885f5f5f5f5f 64 plan9 JLE .+1144201745
-660f8e1122|3344556677885f5f5f5f5f 32 intel jle .+0x2211
-660f8e1122|3344556677885f5f5f5f5f 32 plan9 JLE .+8721
-660f8f11223344|556677885f5f5f5f5f 64 gnu jg .+0x44332211
-660f8f11223344|556677885f5f5f5f5f 64 intel jnle .+0x44332211
-660f8f11223344|556677885f5f5f5f5f 64 plan9 JG .+1144201745
-660f8f1122|3344556677885f5f5f5f5f 32 intel jnle .+0x2211
-660f8f1122|3344556677885f5f5f5f5f 32 plan9 JG .+8721
-660fa1|11223344556677885f5f5f5f5f 32 intel pop fs
-660fa1|11223344556677885f5f5f5f5f 32 plan9 POPW FS
-660fa1|11223344556677885f5f5f5f5f 64 gnu popw %fs
-660fa1|11223344556677885f5f5f5f5f 64 intel pop fs
-660fa1|11223344556677885f5f5f5f5f 64 plan9 POPW FS
-660fa311|223344556677885f5f5f5f5f 32 intel bt word ptr [ecx], dx
-660fa311|223344556677885f5f5f5f5f 32 plan9 BTW DX, 0(CX)
-660fa311|223344556677885f5f5f5f5f 64 gnu bt %dx,(%rcx)
-660fa311|223344556677885f5f5f5f5f 64 intel bt word ptr [rcx], dx
-660fa311|223344556677885f5f5f5f5f 64 plan9 BTW DX, 0(CX)
-660fa41122|3344556677885f5f5f5f5f 32 intel shld word ptr [ecx], dx, 0x22
-660fa41122|3344556677885f5f5f5f5f 32 plan9 SHLDW $0x22, DX, 0(CX)
-660fa41122|3344556677885f5f5f5f5f 64 gnu shld $0x22,%dx,(%rcx)
-660fa41122|3344556677885f5f5f5f5f 64 intel shld word ptr [rcx], dx, 0x22
-660fa41122|3344556677885f5f5f5f5f 64 plan9 SHLDW $0x22, DX, 0(CX)
-660fa511|223344556677885f5f5f5f5f 32 intel shld word ptr [ecx], dx, cl
-660fa511|223344556677885f5f5f5f5f 32 plan9 SHLDW CL, DX, 0(CX)
-660fa511|223344556677885f5f5f5f5f 64 gnu shld %cl,%dx,(%rcx)
-660fa511|223344556677885f5f5f5f5f 64 intel shld word ptr [rcx], dx, cl
-660fa511|223344556677885f5f5f5f5f 64 plan9 SHLDW CL, DX, 0(CX)
-660fa9|11223344556677885f5f5f5f5f 32 intel pop gs
-660fa9|11223344556677885f5f5f5f5f 32 plan9 POPW GS
-660fa9|11223344556677885f5f5f5f5f 64 gnu popw %gs
-660fa9|11223344556677885f5f5f5f5f 64 intel pop gs
-660fa9|11223344556677885f5f5f5f5f 64 plan9 POPW GS
-660fab11|223344556677885f5f5f5f5f 32 intel bts word ptr [ecx], dx
-660fab11|223344556677885f5f5f5f5f 32 plan9 BTSW DX, 0(CX)
-660fab11|223344556677885f5f5f5f5f 64 gnu bts %dx,(%rcx)
-660fab11|223344556677885f5f5f5f5f 64 intel bts word ptr [rcx], dx
-660fab11|223344556677885f5f5f5f5f 64 plan9 BTSW DX, 0(CX)
-660fac1122|3344556677885f5f5f5f5f 32 intel shrd word ptr [ecx], dx, 0x22
-660fac1122|3344556677885f5f5f5f5f 32 plan9 SHRDW $0x22, DX, 0(CX)
-660fac1122|3344556677885f5f5f5f5f 64 gnu shrd $0x22,%dx,(%rcx)
-660fac1122|3344556677885f5f5f5f5f 64 intel shrd word ptr [rcx], dx, 0x22
-660fac1122|3344556677885f5f5f5f5f 64 plan9 SHRDW $0x22, DX, 0(CX)
-660fad11|223344556677885f5f5f5f5f 32 intel shrd word ptr [ecx], dx, cl
-660fad11|223344556677885f5f5f5f5f 32 plan9 SHRDW CL, DX, 0(CX)
-660fad11|223344556677885f5f5f5f5f 64 gnu shrd %cl,%dx,(%rcx)
-660fad11|223344556677885f5f5f5f5f 64 intel shrd word ptr [rcx], dx, cl
-660fad11|223344556677885f5f5f5f5f 64 plan9 SHRDW CL, DX, 0(CX)
-660fae00|11223344556677885f5f5f5f 32 intel fxsave ptr [eax]
-660fae00|11223344556677885f5f5f5f 32 plan9 FXSAVE 0(AX)
-660fae00|11223344556677885f5f5f5f 64 gnu fxsave (%rax)
-660fae00|11223344556677885f5f5f5f 64 intel fxsave ptr [rax]
-660fae00|11223344556677885f5f5f5f 64 plan9 FXSAVE 0(AX)
-660fae08|11223344556677885f5f5f5f 32 intel fxrstor ptr [eax]
-660fae08|11223344556677885f5f5f5f 32 plan9 FXRSTOR 0(AX)
-660fae08|11223344556677885f5f5f5f 64 gnu data16 fxrstor (%rax)
-660fae08|11223344556677885f5f5f5f 64 intel fxrstor ptr [rax]
-660fae08|11223344556677885f5f5f5f 64 plan9 FXRSTOR 0(AX)
-660fae20|11223344556677885f5f5f5f 32 intel xsave ptr [eax]
-660fae20|11223344556677885f5f5f5f 32 plan9 XSAVE 0(AX)
-660fae20|11223344556677885f5f5f5f 64 gnu data16 xsave (%rax)
-660fae20|11223344556677885f5f5f5f 64 intel xsave ptr [rax]
-660fae20|11223344556677885f5f5f5f 64 plan9 XSAVE 0(AX)
-660fae28|11223344556677885f5f5f5f 32 intel xrstor ptr [eax]
-660fae28|11223344556677885f5f5f5f 32 plan9 XRSTOR 0(AX)
-660fae28|11223344556677885f5f5f5f 64 gnu data16 xrstor (%rax)
-660fae28|11223344556677885f5f5f5f 64 intel xrstor ptr [rax]
-660fae28|11223344556677885f5f5f5f 64 plan9 XRSTOR 0(AX)
-660fae30|11223344556677885f5f5f5f 32 intel xsaveopt ptr [eax]
-660fae30|11223344556677885f5f5f5f 32 plan9 XSAVEOPT 0(AX)
-660fae30|11223344556677885f5f5f5f 64 gnu data16 xsaveopt (%rax)
-660fae30|11223344556677885f5f5f5f 64 intel xsaveopt ptr [rax]
-660fae30|11223344556677885f5f5f5f 64 plan9 XSAVEOPT 0(AX)
-660faf11|223344556677885f5f5f5f5f 32 intel imul dx, word ptr [ecx]
-660faf11|223344556677885f5f5f5f5f 32 plan9 IMULW 0(CX), DX
-660faf11|223344556677885f5f5f5f5f 64 gnu imul (%rcx),%dx
-660faf11|223344556677885f5f5f5f5f 64 intel imul dx, word ptr [rcx]
-660faf11|223344556677885f5f5f5f5f 64 plan9 IMULW 0(CX), DX
-660fb111|223344556677885f5f5f5f5f 32 intel cmpxchg word ptr [ecx], dx
-660fb111|223344556677885f5f5f5f5f 32 plan9 CMPXCHGW DX, 0(CX)
-660fb111|223344556677885f5f5f5f5f 64 gnu cmpxchg %dx,(%rcx)
-660fb111|223344556677885f5f5f5f5f 64 intel cmpxchg word ptr [rcx], dx
-660fb111|223344556677885f5f5f5f5f 64 plan9 CMPXCHGW DX, 0(CX)
-660fb211|223344556677885f5f5f5f5f 32 intel lss dx, dword ptr [ecx]
-660fb211|223344556677885f5f5f5f5f 32 plan9 LSS 0(CX), DX
-660fb211|223344556677885f5f5f5f5f 64 gnu lss (%rcx),%dx
-660fb211|223344556677885f5f5f5f5f 64 intel lss dx, dword ptr [rcx]
-660fb211|223344556677885f5f5f5f5f 64 plan9 LSS 0(CX), DX
-660fb311|223344556677885f5f5f5f5f 32 intel btr word ptr [ecx], dx
-660fb311|223344556677885f5f5f5f5f 32 plan9 BTRW DX, 0(CX)
-660fb311|223344556677885f5f5f5f5f 64 gnu btr %dx,(%rcx)
-660fb311|223344556677885f5f5f5f5f 64 intel btr word ptr [rcx], dx
-660fb311|223344556677885f5f5f5f5f 64 plan9 BTRW DX, 0(CX)
-660fb411|223344556677885f5f5f5f5f 32 intel lfs dx, dword ptr [ecx]
-660fb411|223344556677885f5f5f5f5f 32 plan9 LFS 0(CX), DX
-660fb411|223344556677885f5f5f5f5f 64 gnu lfs (%rcx),%dx
-660fb411|223344556677885f5f5f5f5f 64 intel lfs dx, dword ptr [rcx]
-660fb411|223344556677885f5f5f5f5f 64 plan9 LFS 0(CX), DX
-660fb511|223344556677885f5f5f5f5f 32 intel lgs dx, dword ptr [ecx]
-660fb511|223344556677885f5f5f5f5f 32 plan9 LGS 0(CX), DX
-660fb511|223344556677885f5f5f5f5f 64 gnu lgs (%rcx),%dx
-660fb511|223344556677885f5f5f5f5f 64 intel lgs dx, dword ptr [rcx]
-660fb511|223344556677885f5f5f5f5f 64 plan9 LGS 0(CX), DX
-660fb611|223344556677885f5f5f5f5f 32 intel movzx dx, byte ptr [ecx]
-660fb611|223344556677885f5f5f5f5f 32 plan9 MOVZX 0(CX), DX
-660fb611|223344556677885f5f5f5f5f 64 gnu movzbw (%rcx),%dx
-660fb611|223344556677885f5f5f5f5f 64 intel movzx dx, byte ptr [rcx]
-660fb611|223344556677885f5f5f5f5f 64 plan9 MOVZX 0(CX), DX
-660fb711|223344556677885f5f5f5f5f 32 intel movzx dx, word ptr [ecx]
-660fb711|223344556677885f5f5f5f5f 32 plan9 MOVZX 0(CX), DX
-660fb711|223344556677885f5f5f5f5f 64 gnu movzww (%rcx),%dx
-660fb711|223344556677885f5f5f5f5f 64 intel movzx dx, word ptr [rcx]
-660fb711|223344556677885f5f5f5f5f 64 plan9 MOVZX 0(CX), DX
-660fba2011|223344556677885f5f5f5f 32 intel bt word ptr [eax], 0x11
-660fba2011|223344556677885f5f5f5f 32 plan9 BTW $0x11, 0(AX)
-660fba2011|223344556677885f5f5f5f 64 gnu btw $0x11,(%rax)
-660fba2011|223344556677885f5f5f5f 64 intel bt word ptr [rax], 0x11
-660fba2011|223344556677885f5f5f5f 64 plan9 BTW $0x11, 0(AX)
-660fba2811|223344556677885f5f5f5f 32 intel bts word ptr [eax], 0x11
-660fba2811|223344556677885f5f5f5f 32 plan9 BTSW $0x11, 0(AX)
-660fba2811|223344556677885f5f5f5f 64 gnu btsw $0x11,(%rax)
-660fba2811|223344556677885f5f5f5f 64 intel bts word ptr [rax], 0x11
-660fba2811|223344556677885f5f5f5f 64 plan9 BTSW $0x11, 0(AX)
-660fba3011|223344556677885f5f5f5f 32 intel btr word ptr [eax], 0x11
-660fba3011|223344556677885f5f5f5f 32 plan9 BTRW $0x11, 0(AX)
-660fba3011|223344556677885f5f5f5f 64 gnu btrw $0x11,(%rax)
-660fba3011|223344556677885f5f5f5f 64 intel btr word ptr [rax], 0x11
-660fba3011|223344556677885f5f5f5f 64 plan9 BTRW $0x11, 0(AX)
-660fba3811|223344556677885f5f5f5f 32 intel btc word ptr [eax], 0x11
-660fba3811|223344556677885f5f5f5f 32 plan9 BTCW $0x11, 0(AX)
-660fba3811|223344556677885f5f5f5f 64 gnu btcw $0x11,(%rax)
-660fba3811|223344556677885f5f5f5f 64 intel btc word ptr [rax], 0x11
-660fba3811|223344556677885f5f5f5f 64 plan9 BTCW $0x11, 0(AX)
-660fbb11|223344556677885f5f5f5f5f 32 intel btc word ptr [ecx], dx
-660fbb11|223344556677885f5f5f5f5f 32 plan9 BTCW DX, 0(CX)
-660fbb11|223344556677885f5f5f5f5f 64 gnu btc %dx,(%rcx)
-660fbb11|223344556677885f5f5f5f5f 64 intel btc word ptr [rcx], dx
-660fbb11|223344556677885f5f5f5f5f 64 plan9 BTCW DX, 0(CX)
-660fbc11|223344556677885f5f5f5f5f 32 intel bsf dx, word ptr [ecx]
-660fbc11|223344556677885f5f5f5f5f 32 plan9 BSFW 0(CX), DX
-660fbc11|223344556677885f5f5f5f5f 64 gnu bsf (%rcx),%dx
-660fbc11|223344556677885f5f5f5f5f 64 intel bsf dx, word ptr [rcx]
-660fbc11|223344556677885f5f5f5f5f 64 plan9 BSFW 0(CX), DX
-660fbd11|223344556677885f5f5f5f5f 32 intel bsr dx, word ptr [ecx]
-660fbd11|223344556677885f5f5f5f5f 32 plan9 BSRW 0(CX), DX
-660fbd11|223344556677885f5f5f5f5f 64 gnu bsr (%rcx),%dx
-660fbd11|223344556677885f5f5f5f5f 64 intel bsr dx, word ptr [rcx]
-660fbd11|223344556677885f5f5f5f5f 64 plan9 BSRW 0(CX), DX
-660fbe11|223344556677885f5f5f5f5f 32 intel movsx dx, byte ptr [ecx]
-660fbe11|223344556677885f5f5f5f5f 32 plan9 MOVSX 0(CX), DX
-660fbe11|223344556677885f5f5f5f5f 64 gnu movsbw (%rcx),%dx
-660fbe11|223344556677885f5f5f5f5f 64 intel movsx dx, byte ptr [rcx]
-660fbe11|223344556677885f5f5f5f5f 64 plan9 MOVSX 0(CX), DX
-660fbf11|223344556677885f5f5f5f5f 32 intel movsx dx, word ptr [ecx]
-660fbf11|223344556677885f5f5f5f5f 32 plan9 MOVSX 0(CX), DX
-660fbf11|223344556677885f5f5f5f5f 64 gnu movsww (%rcx),%dx
-660fbf11|223344556677885f5f5f5f5f 64 intel movsx dx, word ptr [rcx]
-660fbf11|223344556677885f5f5f5f5f 64 plan9 MOVSX 0(CX), DX
-660fc111|223344556677885f5f5f5f5f 32 intel xadd word ptr [ecx], dx
-660fc111|223344556677885f5f5f5f5f 32 plan9 XADDW DX, 0(CX)
-660fc111|223344556677885f5f5f5f5f 64 gnu xadd %dx,(%rcx)
-660fc111|223344556677885f5f5f5f5f 64 intel xadd word ptr [rcx], dx
-660fc111|223344556677885f5f5f5f5f 64 plan9 XADDW DX, 0(CX)
-660fc21122|3344556677885f5f5f5f5f 32 intel cmppd xmm2, xmmword ptr [ecx], 0x22
-660fc21122|3344556677885f5f5f5f5f 32 plan9 CMPPD $0x22, 0(CX), X2
-660fc21122|3344556677885f5f5f5f5f 64 gnu cmppd $0x22,(%rcx),%xmm2
-660fc21122|3344556677885f5f5f5f5f 64 intel cmppd xmm2, xmmword ptr [rcx], 0x22
-660fc21122|3344556677885f5f5f5f5f 64 plan9 CMPPD $0x22, 0(CX), X2
-660fc311|223344556677885f5f5f5f5f 32 intel movnti dword ptr [ecx], edx
-660fc311|223344556677885f5f5f5f5f 32 plan9 MOVNTIL DX, 0(CX)
-660fc311|223344556677885f5f5f5f5f 64 gnu movnti %edx,(%rcx)
-660fc311|223344556677885f5f5f5f5f 64 intel movnti dword ptr [rcx], edx
-660fc311|223344556677885f5f5f5f5f 64 plan9 MOVNTIL DX, 0(CX)
-660fc41122|3344556677885f5f5f5f5f 32 intel pinsrw xmm2, word ptr [ecx], 0x22
-660fc41122|3344556677885f5f5f5f5f 32 plan9 PINSRW $0x22, 0(CX), X2
-660fc41122|3344556677885f5f5f5f5f 64 gnu pinsrw $0x22,(%rcx),%xmm2
-660fc41122|3344556677885f5f5f5f5f 64 intel pinsrw xmm2, word ptr [rcx], 0x22
-660fc41122|3344556677885f5f5f5f5f 64 plan9 PINSRW $0x22, 0(CX), X2
-660fc5c011|223344556677885f5f5f5f 32 intel pextrw eax, xmm0, 0x11
-660fc5c011|223344556677885f5f5f5f 32 plan9 PEXTRW $0x11, X0, AX
-660fc5c011|223344556677885f5f5f5f 64 gnu pextrw $0x11,%xmm0,%eax
-660fc5c011|223344556677885f5f5f5f 64 intel pextrw eax, xmm0, 0x11
-660fc5c011|223344556677885f5f5f5f 64 plan9 PEXTRW $0x11, X0, AX
-660fc61122|3344556677885f5f5f5f5f 32 intel shufpd xmm2, xmmword ptr [ecx], 0x22
-660fc61122|3344556677885f5f5f5f5f 32 plan9 SHUFPD $0x22, 0(CX), X2
-660fc61122|3344556677885f5f5f5f5f 64 gnu shufpd $0x22,(%rcx),%xmm2
-660fc61122|3344556677885f5f5f5f5f 64 intel shufpd xmm2, xmmword ptr [rcx], 0x22
-660fc61122|3344556677885f5f5f5f5f 64 plan9 SHUFPD $0x22, 0(CX), X2
-660fc708|11223344556677885f5f5f5f 32 intel cmpxchg8b qword ptr [eax]
-660fc708|11223344556677885f5f5f5f 32 plan9 CMPXCHG8B 0(AX)
-660fc708|11223344556677885f5f5f5f 64 gnu data16 cmpxchg8b (%rax)
-660fc708|11223344556677885f5f5f5f 64 intel cmpxchg8b qword ptr [rax]
-660fc708|11223344556677885f5f5f5f 64 plan9 CMPXCHG8B 0(AX)
-660fc718|11223344556677885f5f5f5f 32 intel xrstors ptr [eax]
-660fc718|11223344556677885f5f5f5f 32 plan9 XRSTORS 0(AX)
-660fc718|11223344556677885f5f5f5f 64 gnu xrstors (%rax)
-660fc718|11223344556677885f5f5f5f 64 intel xrstors ptr [rax]
-660fc718|11223344556677885f5f5f5f 64 plan9 XRSTORS 0(AX)
-660fc720|11223344556677885f5f5f5f 32 intel xsavec ptr [eax]
-660fc720|11223344556677885f5f5f5f 32 plan9 XSAVEC 0(AX)
-660fc720|11223344556677885f5f5f5f 64 gnu xsavec (%rax)
-660fc720|11223344556677885f5f5f5f 64 intel xsavec ptr [rax]
-660fc720|11223344556677885f5f5f5f 64 plan9 XSAVEC 0(AX)
-660fc728|11223344556677885f5f5f5f 32 intel xsaves ptr [eax]
-660fc728|11223344556677885f5f5f5f 32 plan9 XSAVES 0(AX)
-660fc728|11223344556677885f5f5f5f 64 gnu xsaves (%rax)
-660fc728|11223344556677885f5f5f5f 64 intel xsaves ptr [rax]
-660fc728|11223344556677885f5f5f5f 64 plan9 XSAVES 0(AX)
-660fc7f2|11223344556677885f5f5f5f 32 intel rdrand dx
-660fc7f2|11223344556677885f5f5f5f 32 plan9 RDRAND DX
-660fc7f2|11223344556677885f5f5f5f 64 gnu rdrand %dx
-660fc7f2|11223344556677885f5f5f5f 64 intel rdrand dx
-660fc7f2|11223344556677885f5f5f5f 64 plan9 RDRAND DX
-660fc8|11223344556677885f5f5f5f5f 32 intel bswap ax
-660fc8|11223344556677885f5f5f5f5f 32 plan9 BSWAP AX
-660fc8|11223344556677885f5f5f5f5f 64 gnu bswap %ax
-660fc8|11223344556677885f5f5f5f5f 64 intel bswap ax
-660fc8|11223344556677885f5f5f5f5f 64 plan9 BSWAP AX
-660fd011|223344556677885f5f5f5f5f 32 intel addsubpd xmm2, xmmword ptr [ecx]
-660fd011|223344556677885f5f5f5f5f 32 plan9 ADDSUBPD 0(CX), X2
-660fd011|223344556677885f5f5f5f5f 64 gnu addsubpd (%rcx),%xmm2
-660fd011|223344556677885f5f5f5f5f 64 intel addsubpd xmm2, xmmword ptr [rcx]
-660fd011|223344556677885f5f5f5f5f 64 plan9 ADDSUBPD 0(CX), X2
-660fd111|223344556677885f5f5f5f5f 32 intel psrlw xmm2, xmmword ptr [ecx]
-660fd111|223344556677885f5f5f5f5f 32 plan9 PSRLW 0(CX), X2
-660fd111|223344556677885f5f5f5f5f 64 gnu psrlw (%rcx),%xmm2
-660fd111|223344556677885f5f5f5f5f 64 intel psrlw xmm2, xmmword ptr [rcx]
-660fd111|223344556677885f5f5f5f5f 64 plan9 PSRLW 0(CX), X2
-660fd211|223344556677885f5f5f5f5f 32 intel psrld xmm2, xmmword ptr [ecx]
-660fd211|223344556677885f5f5f5f5f 32 plan9 PSRLD 0(CX), X2
-660fd211|223344556677885f5f5f5f5f 64 gnu psrld (%rcx),%xmm2
-660fd211|223344556677885f5f5f5f5f 64 intel psrld xmm2, xmmword ptr [rcx]
-660fd211|223344556677885f5f5f5f5f 64 plan9 PSRLD 0(CX), X2
-660fd311|223344556677885f5f5f5f5f 32 intel psrlq xmm2, xmmword ptr [ecx]
-660fd311|223344556677885f5f5f5f5f 32 plan9 PSRLQ 0(CX), X2
-660fd311|223344556677885f5f5f5f5f 64 gnu psrlq (%rcx),%xmm2
-660fd311|223344556677885f5f5f5f5f 64 intel psrlq xmm2, xmmword ptr [rcx]
-660fd311|223344556677885f5f5f5f5f 64 plan9 PSRLQ 0(CX), X2
-660fd411|223344556677885f5f5f5f5f 32 intel paddq xmm2, xmmword ptr [ecx]
-660fd411|223344556677885f5f5f5f5f 32 plan9 PADDQ 0(CX), X2
-660fd411|223344556677885f5f5f5f5f 64 gnu paddq (%rcx),%xmm2
-660fd411|223344556677885f5f5f5f5f 64 intel paddq xmm2, xmmword ptr [rcx]
-660fd411|223344556677885f5f5f5f5f 64 plan9 PADDQ 0(CX), X2
-660fd511|223344556677885f5f5f5f5f 32 intel pmullw xmm2, xmmword ptr [ecx]
-660fd511|223344556677885f5f5f5f5f 32 plan9 PMULLW 0(CX), X2
-660fd511|223344556677885f5f5f5f5f 64 gnu pmullw (%rcx),%xmm2
-660fd511|223344556677885f5f5f5f5f 64 intel pmullw xmm2, xmmword ptr [rcx]
-660fd511|223344556677885f5f5f5f5f 64 plan9 PMULLW 0(CX), X2
-660fd611|223344556677885f5f5f5f5f 32 intel movq qword ptr [ecx], xmm2
-660fd611|223344556677885f5f5f5f5f 32 plan9 MOVQ X2, 0(CX)
-660fd611|223344556677885f5f5f5f5f 64 gnu movq %xmm2,(%rcx)
-660fd611|223344556677885f5f5f5f5f 64 intel movq qword ptr [rcx], xmm2
-660fd611|223344556677885f5f5f5f5f 64 plan9 MOVQ X2, 0(CX)
-660fd7c0|11223344556677885f5f5f5f 32 intel pmovmskb eax, xmm0
-660fd7c0|11223344556677885f5f5f5f 32 plan9 PMOVMSKB X0, AX
-660fd7c0|11223344556677885f5f5f5f 64 gnu pmovmskb %xmm0,%eax
-660fd7c0|11223344556677885f5f5f5f 64 intel pmovmskb eax, xmm0
-660fd7c0|11223344556677885f5f5f5f 64 plan9 PMOVMSKB X0, AX
-660fd811|223344556677885f5f5f5f5f 32 intel psubusb xmm2, xmmword ptr [ecx]
-660fd811|223344556677885f5f5f5f5f 32 plan9 PSUBUSB 0(CX), X2
-660fd811|223344556677885f5f5f5f5f 64 gnu psubusb (%rcx),%xmm2
-660fd811|223344556677885f5f5f5f5f 64 intel psubusb xmm2, xmmword ptr [rcx]
-660fd811|223344556677885f5f5f5f5f 64 plan9 PSUBUSB 0(CX), X2
-660fd911|223344556677885f5f5f5f5f 32 intel psubusw xmm2, xmmword ptr [ecx]
-660fd911|223344556677885f5f5f5f5f 32 plan9 PSUBUSW 0(CX), X2
-660fd911|223344556677885f5f5f5f5f 64 gnu psubusw (%rcx),%xmm2
-660fd911|223344556677885f5f5f5f5f 64 intel psubusw xmm2, xmmword ptr [rcx]
-660fd911|223344556677885f5f5f5f5f 64 plan9 PSUBUSW 0(CX), X2
-660fda11|223344556677885f5f5f5f5f 32 intel pminub xmm2, xmmword ptr [ecx]
-660fda11|223344556677885f5f5f5f5f 32 plan9 PMINUB 0(CX), X2
-660fda11|223344556677885f5f5f5f5f 64 gnu pminub (%rcx),%xmm2
-660fda11|223344556677885f5f5f5f5f 64 intel pminub xmm2, xmmword ptr [rcx]
-660fda11|223344556677885f5f5f5f5f 64 plan9 PMINUB 0(CX), X2
-660fdb11|223344556677885f5f5f5f5f 32 intel pand xmm2, xmmword ptr [ecx]
-660fdb11|223344556677885f5f5f5f5f 32 plan9 PAND 0(CX), X2
-660fdb11|223344556677885f5f5f5f5f 64 gnu pand (%rcx),%xmm2
-660fdb11|223344556677885f5f5f5f5f 64 intel pand xmm2, xmmword ptr [rcx]
-660fdb11|223344556677885f5f5f5f5f 64 plan9 PAND 0(CX), X2
-660fdc11|223344556677885f5f5f5f5f 32 intel paddusb xmm2, xmmword ptr [ecx]
-660fdc11|223344556677885f5f5f5f5f 32 plan9 PADDUSB 0(CX), X2
-660fdc11|223344556677885f5f5f5f5f 64 gnu paddusb (%rcx),%xmm2
-660fdc11|223344556677885f5f5f5f5f 64 intel paddusb xmm2, xmmword ptr [rcx]
-660fdc11|223344556677885f5f5f5f5f 64 plan9 PADDUSB 0(CX), X2
-660fdd11|223344556677885f5f5f5f5f 32 intel paddusw xmm2, xmmword ptr [ecx]
-660fdd11|223344556677885f5f5f5f5f 32 plan9 PADDUSW 0(CX), X2
-660fdd11|223344556677885f5f5f5f5f 64 gnu paddusw (%rcx),%xmm2
-660fdd11|223344556677885f5f5f5f5f 64 intel paddusw xmm2, xmmword ptr [rcx]
-660fdd11|223344556677885f5f5f5f5f 64 plan9 PADDUSW 0(CX), X2
-660fde11|223344556677885f5f5f5f5f 32 intel pmaxub xmm2, xmmword ptr [ecx]
-660fde11|223344556677885f5f5f5f5f 32 plan9 PMAXUB 0(CX), X2
-660fde11|223344556677885f5f5f5f5f 64 gnu pmaxub (%rcx),%xmm2
-660fde11|223344556677885f5f5f5f5f 64 intel pmaxub xmm2, xmmword ptr [rcx]
-660fde11|223344556677885f5f5f5f5f 64 plan9 PMAXUB 0(CX), X2
-660fdf11|223344556677885f5f5f5f5f 32 intel pandn xmm2, xmmword ptr [ecx]
-660fdf11|223344556677885f5f5f5f5f 32 plan9 PANDN 0(CX), X2
-660fdf11|223344556677885f5f5f5f5f 64 gnu pandn (%rcx),%xmm2
-660fdf11|223344556677885f5f5f5f5f 64 intel pandn xmm2, xmmword ptr [rcx]
-660fdf11|223344556677885f5f5f5f5f 64 plan9 PANDN 0(CX), X2
-660fe011|223344556677885f5f5f5f5f 32 intel pavgb xmm2, xmmword ptr [ecx]
-660fe011|223344556677885f5f5f5f5f 32 plan9 PAVGB 0(CX), X2
-660fe011|223344556677885f5f5f5f5f 64 gnu pavgb (%rcx),%xmm2
-660fe011|223344556677885f5f5f5f5f 64 intel pavgb xmm2, xmmword ptr [rcx]
-660fe011|223344556677885f5f5f5f5f 64 plan9 PAVGB 0(CX), X2
-660fe111|223344556677885f5f5f5f5f 32 intel psraw xmm2, xmmword ptr [ecx]
-660fe111|223344556677885f5f5f5f5f 32 plan9 PSRAW 0(CX), X2
-660fe111|223344556677885f5f5f5f5f 64 gnu psraw (%rcx),%xmm2
-660fe111|223344556677885f5f5f5f5f 64 intel psraw xmm2, xmmword ptr [rcx]
-660fe111|223344556677885f5f5f5f5f 64 plan9 PSRAW 0(CX), X2
-660fe211|223344556677885f5f5f5f5f 32 intel psrad xmm2, xmmword ptr [ecx]
-660fe211|223344556677885f5f5f5f5f 32 plan9 PSRAD 0(CX), X2
-660fe211|223344556677885f5f5f5f5f 64 gnu psrad (%rcx),%xmm2
-660fe211|223344556677885f5f5f5f5f 64 intel psrad xmm2, xmmword ptr [rcx]
-660fe211|223344556677885f5f5f5f5f 64 plan9 PSRAD 0(CX), X2
-660fe311|223344556677885f5f5f5f5f 32 intel pavgw xmm2, xmmword ptr [ecx]
-660fe311|223344556677885f5f5f5f5f 32 plan9 PAVGW 0(CX), X2
-660fe311|223344556677885f5f5f5f5f 64 gnu pavgw (%rcx),%xmm2
-660fe311|223344556677885f5f5f5f5f 64 intel pavgw xmm2, xmmword ptr [rcx]
-660fe311|223344556677885f5f5f5f5f 64 plan9 PAVGW 0(CX), X2
-660fe411|223344556677885f5f5f5f5f 32 intel pmulhuw xmm2, xmmword ptr [ecx]
-660fe411|223344556677885f5f5f5f5f 32 plan9 PMULHUW 0(CX), X2
-660fe411|223344556677885f5f5f5f5f 64 gnu pmulhuw (%rcx),%xmm2
-660fe411|223344556677885f5f5f5f5f 64 intel pmulhuw xmm2, xmmword ptr [rcx]
-660fe411|223344556677885f5f5f5f5f 64 plan9 PMULHUW 0(CX), X2
-660fe511|223344556677885f5f5f5f5f 32 intel pmulhw xmm2, xmmword ptr [ecx]
-660fe511|223344556677885f5f5f5f5f 32 plan9 PMULHW 0(CX), X2
-660fe511|223344556677885f5f5f5f5f 64 gnu pmulhw (%rcx),%xmm2
-660fe511|223344556677885f5f5f5f5f 64 intel pmulhw xmm2, xmmword ptr [rcx]
-660fe511|223344556677885f5f5f5f5f 64 plan9 PMULHW 0(CX), X2
-660fe611|223344556677885f5f5f5f5f 32 intel cvttpd2dq xmm2, xmmword ptr [ecx]
-660fe611|223344556677885f5f5f5f5f 32 plan9 CVTTPD2DQ 0(CX), X2
-660fe611|223344556677885f5f5f5f5f 64 gnu cvttpd2dq (%rcx),%xmm2
-660fe611|223344556677885f5f5f5f5f 64 intel cvttpd2dq xmm2, xmmword ptr [rcx]
-660fe611|223344556677885f5f5f5f5f 64 plan9 CVTTPD2DQ 0(CX), X2
-660fe711|223344556677885f5f5f5f5f 32 intel movntdq xmmword ptr [ecx], xmm2
-660fe711|223344556677885f5f5f5f5f 32 plan9 MOVNTDQ X2, 0(CX)
-660fe711|223344556677885f5f5f5f5f 64 gnu movntdq %xmm2,(%rcx)
-660fe711|223344556677885f5f5f5f5f 64 intel movntdq xmmword ptr [rcx], xmm2
-660fe711|223344556677885f5f5f5f5f 64 plan9 MOVNTDQ X2, 0(CX)
-660fe811|223344556677885f5f5f5f5f 32 intel psubsb xmm2, xmmword ptr [ecx]
-660fe811|223344556677885f5f5f5f5f 32 plan9 PSUBSB 0(CX), X2
-660fe811|223344556677885f5f5f5f5f 64 gnu psubsb (%rcx),%xmm2
-660fe811|223344556677885f5f5f5f5f 64 intel psubsb xmm2, xmmword ptr [rcx]
-660fe811|223344556677885f5f5f5f5f 64 plan9 PSUBSB 0(CX), X2
-660fe911|223344556677885f5f5f5f5f 32 intel psubsw xmm2, xmmword ptr [ecx]
-660fe911|223344556677885f5f5f5f5f 32 plan9 PSUBSW 0(CX), X2
-660fe911|223344556677885f5f5f5f5f 64 gnu psubsw (%rcx),%xmm2
-660fe911|223344556677885f5f5f5f5f 64 intel psubsw xmm2, xmmword ptr [rcx]
-660fe911|223344556677885f5f5f5f5f 64 plan9 PSUBSW 0(CX), X2
-660fea11|223344556677885f5f5f5f5f 32 intel pminsw xmm2, xmmword ptr [ecx]
-660fea11|223344556677885f5f5f5f5f 32 plan9 PMINSW 0(CX), X2
-660fea11|223344556677885f5f5f5f5f 64 gnu pminsw (%rcx),%xmm2
-660fea11|223344556677885f5f5f5f5f 64 intel pminsw xmm2, xmmword ptr [rcx]
-660fea11|223344556677885f5f5f5f5f 64 plan9 PMINSW 0(CX), X2
-660feb11|223344556677885f5f5f5f5f 32 intel por xmm2, xmmword ptr [ecx]
-660feb11|223344556677885f5f5f5f5f 32 plan9 POR 0(CX), X2
-660feb11|223344556677885f5f5f5f5f 64 gnu por (%rcx),%xmm2
-660feb11|223344556677885f5f5f5f5f 64 intel por xmm2, xmmword ptr [rcx]
-660feb11|223344556677885f5f5f5f5f 64 plan9 POR 0(CX), X2
-660fec11|223344556677885f5f5f5f5f 32 intel paddsb xmm2, xmmword ptr [ecx]
-660fec11|223344556677885f5f5f5f5f 32 plan9 PADDSB 0(CX), X2
-660fec11|223344556677885f5f5f5f5f 64 gnu paddsb (%rcx),%xmm2
-660fec11|223344556677885f5f5f5f5f 64 intel paddsb xmm2, xmmword ptr [rcx]
-660fec11|223344556677885f5f5f5f5f 64 plan9 PADDSB 0(CX), X2
-660fed11|223344556677885f5f5f5f5f 32 intel paddsw xmm2, xmmword ptr [ecx]
-660fed11|223344556677885f5f5f5f5f 32 plan9 PADDSW 0(CX), X2
-660fed11|223344556677885f5f5f5f5f 64 gnu paddsw (%rcx),%xmm2
-660fed11|223344556677885f5f5f5f5f 64 intel paddsw xmm2, xmmword ptr [rcx]
-660fed11|223344556677885f5f5f5f5f 64 plan9 PADDSW 0(CX), X2
-660fee11|223344556677885f5f5f5f5f 32 intel pmaxsw xmm2, xmmword ptr [ecx]
-660fee11|223344556677885f5f5f5f5f 32 plan9 PMAXSW 0(CX), X2
-660fee11|223344556677885f5f5f5f5f 64 gnu pmaxsw (%rcx),%xmm2
-660fee11|223344556677885f5f5f5f5f 64 intel pmaxsw xmm2, xmmword ptr [rcx]
-660fee11|223344556677885f5f5f5f5f 64 plan9 PMAXSW 0(CX), X2
-660fef11|223344556677885f5f5f5f5f 32 intel pxor xmm2, xmmword ptr [ecx]
-660fef11|223344556677885f5f5f5f5f 32 plan9 PXOR 0(CX), X2
-660fef11|223344556677885f5f5f5f5f 64 gnu pxor (%rcx),%xmm2
-660fef11|223344556677885f5f5f5f5f 64 intel pxor xmm2, xmmword ptr [rcx]
-660fef11|223344556677885f5f5f5f5f 64 plan9 PXOR 0(CX), X2
-660ff111|223344556677885f5f5f5f5f 32 intel psllw xmm2, xmmword ptr [ecx]
-660ff111|223344556677885f5f5f5f5f 32 plan9 PSLLW 0(CX), X2
-660ff111|223344556677885f5f5f5f5f 64 gnu psllw (%rcx),%xmm2
-660ff111|223344556677885f5f5f5f5f 64 intel psllw xmm2, xmmword ptr [rcx]
-660ff111|223344556677885f5f5f5f5f 64 plan9 PSLLW 0(CX), X2
-660ff211|223344556677885f5f5f5f5f 32 intel pslld xmm2, xmmword ptr [ecx]
-660ff211|223344556677885f5f5f5f5f 32 plan9 PSLLD 0(CX), X2
-660ff211|223344556677885f5f5f5f5f 64 gnu pslld (%rcx),%xmm2
-660ff211|223344556677885f5f5f5f5f 64 intel pslld xmm2, xmmword ptr [rcx]
-660ff211|223344556677885f5f5f5f5f 64 plan9 PSLLD 0(CX), X2
-660ff311|223344556677885f5f5f5f5f 32 intel psllq xmm2, xmmword ptr [ecx]
-660ff311|223344556677885f5f5f5f5f 32 plan9 PSLLQ 0(CX), X2
-660ff311|223344556677885f5f5f5f5f 64 gnu psllq (%rcx),%xmm2
-660ff311|223344556677885f5f5f5f5f 64 intel psllq xmm2, xmmword ptr [rcx]
-660ff311|223344556677885f5f5f5f5f 64 plan9 PSLLQ 0(CX), X2
-660ff411|223344556677885f5f5f5f5f 32 intel pmuludq xmm2, xmmword ptr [ecx]
-660ff411|223344556677885f5f5f5f5f 32 plan9 PMULUDQ 0(CX), X2
-660ff411|223344556677885f5f5f5f5f 64 gnu pmuludq (%rcx),%xmm2
-660ff411|223344556677885f5f5f5f5f 64 intel pmuludq xmm2, xmmword ptr [rcx]
-660ff411|223344556677885f5f5f5f5f 64 plan9 PMULUDQ 0(CX), X2
-660ff511|223344556677885f5f5f5f5f 32 intel pmaddwd xmm2, xmmword ptr [ecx]
-660ff511|223344556677885f5f5f5f5f 32 plan9 PMADDWD 0(CX), X2
-660ff511|223344556677885f5f5f5f5f 64 gnu pmaddwd (%rcx),%xmm2
-660ff511|223344556677885f5f5f5f5f 64 intel pmaddwd xmm2, xmmword ptr [rcx]
-660ff511|223344556677885f5f5f5f5f 64 plan9 PMADDWD 0(CX), X2
-660ff611|223344556677885f5f5f5f5f 32 intel psadbw xmm2, xmmword ptr [ecx]
-660ff611|223344556677885f5f5f5f5f 32 plan9 PSADBW 0(CX), X2
-660ff611|223344556677885f5f5f5f5f 64 gnu psadbw (%rcx),%xmm2
-660ff611|223344556677885f5f5f5f5f 64 intel psadbw xmm2, xmmword ptr [rcx]
-660ff611|223344556677885f5f5f5f5f 64 plan9 PSADBW 0(CX), X2
-660ff7c0|11223344556677885f5f5f5f 32 intel maskmovdqu xmm0, xmm0
-660ff7c0|11223344556677885f5f5f5f 32 plan9 MASKMOVDQU X0, X0
-660ff7c0|11223344556677885f5f5f5f 64 intel maskmovdqu xmm0, xmm0
-660ff7c0|11223344556677885f5f5f5f 64 plan9 MASKMOVDQU X0, X0
-660ff811|223344556677885f5f5f5f5f 32 intel psubb xmm2, xmmword ptr [ecx]
-660ff811|223344556677885f5f5f5f5f 32 plan9 PSUBB 0(CX), X2
-660ff811|223344556677885f5f5f5f5f 64 gnu psubb (%rcx),%xmm2
-660ff811|223344556677885f5f5f5f5f 64 intel psubb xmm2, xmmword ptr [rcx]
-660ff811|223344556677885f5f5f5f5f 64 plan9 PSUBB 0(CX), X2
-660ff911|223344556677885f5f5f5f5f 32 intel psubw xmm2, xmmword ptr [ecx]
-660ff911|223344556677885f5f5f5f5f 32 plan9 PSUBW 0(CX), X2
-660ff911|223344556677885f5f5f5f5f 64 gnu psubw (%rcx),%xmm2
-660ff911|223344556677885f5f5f5f5f 64 intel psubw xmm2, xmmword ptr [rcx]
-660ff911|223344556677885f5f5f5f5f 64 plan9 PSUBW 0(CX), X2
-660ffa11|223344556677885f5f5f5f5f 32 intel psubd xmm2, xmmword ptr [ecx]
-660ffa11|223344556677885f5f5f5f5f 32 plan9 PSUBD 0(CX), X2
-660ffa11|223344556677885f5f5f5f5f 64 gnu psubd (%rcx),%xmm2
-660ffa11|223344556677885f5f5f5f5f 64 intel psubd xmm2, xmmword ptr [rcx]
-660ffa11|223344556677885f5f5f5f5f 64 plan9 PSUBD 0(CX), X2
-660ffb11|223344556677885f5f5f5f5f 32 intel psubq xmm2, xmmword ptr [ecx]
-660ffb11|223344556677885f5f5f5f5f 32 plan9 PSUBQ 0(CX), X2
-660ffb11|223344556677885f5f5f5f5f 64 gnu psubq (%rcx),%xmm2
-660ffb11|223344556677885f5f5f5f5f 64 intel psubq xmm2, xmmword ptr [rcx]
-660ffb11|223344556677885f5f5f5f5f 64 plan9 PSUBQ 0(CX), X2
-660ffc11|223344556677885f5f5f5f5f 32 intel paddb xmm2, xmmword ptr [ecx]
-660ffc11|223344556677885f5f5f5f5f 32 plan9 PADDB 0(CX), X2
-660ffc11|223344556677885f5f5f5f5f 64 gnu paddb (%rcx),%xmm2
-660ffc11|223344556677885f5f5f5f5f 64 intel paddb xmm2, xmmword ptr [rcx]
-660ffc11|223344556677885f5f5f5f5f 64 plan9 PADDB 0(CX), X2
-660ffd11|223344556677885f5f5f5f5f 32 intel paddw xmm2, xmmword ptr [ecx]
-660ffd11|223344556677885f5f5f5f5f 32 plan9 PADDW 0(CX), X2
-660ffd11|223344556677885f5f5f5f5f 64 gnu paddw (%rcx),%xmm2
-660ffd11|223344556677885f5f5f5f5f 64 intel paddw xmm2, xmmword ptr [rcx]
-660ffd11|223344556677885f5f5f5f5f 64 plan9 PADDW 0(CX), X2
-660ffe11|223344556677885f5f5f5f5f 32 intel paddd xmm2, xmmword ptr [ecx]
-660ffe11|223344556677885f5f5f5f5f 32 plan9 PADDD 0(CX), X2
-660ffe11|223344556677885f5f5f5f5f 64 gnu paddd (%rcx),%xmm2
-660ffe11|223344556677885f5f5f5f5f 64 intel paddd xmm2, xmmword ptr [rcx]
-660ffe11|223344556677885f5f5f5f5f 64 plan9 PADDD 0(CX), X2
-661122|3344556677885f5f5f5f5f5f5f 32 intel adc word ptr [edx], sp
-661122|3344556677885f5f5f5f5f5f5f 32 plan9 ADCW SP, 0(DX)
-661122|3344556677885f5f5f5f5f5f5f 64 gnu adc %sp,(%rdx)
-661122|3344556677885f5f5f5f5f5f5f 64 intel adc word ptr [rdx], sp
-661122|3344556677885f5f5f5f5f5f5f 64 plan9 ADCW SP, 0(DX)
-661311|223344556677885f5f5f5f5f5f 32 intel adc dx, word ptr [ecx]
-661311|223344556677885f5f5f5f5f5f 32 plan9 ADCW 0(CX), DX
-661311|223344556677885f5f5f5f5f5f 64 gnu adc (%rcx),%dx
-661311|223344556677885f5f5f5f5f5f 64 intel adc dx, word ptr [rcx]
-661311|223344556677885f5f5f5f5f5f 64 plan9 ADCW 0(CX), DX
-66151122|3344556677885f5f5f5f5f5f 32 intel adc ax, 0x2211
-66151122|3344556677885f5f5f5f5f5f 32 plan9 ADCW $0x2211, AX
-66151122|3344556677885f5f5f5f5f5f 64 gnu adc $0x2211,%ax
-66151122|3344556677885f5f5f5f5f5f 64 intel adc ax, 0x2211
-66151122|3344556677885f5f5f5f5f5f 64 plan9 ADCW $0x2211, AX
-661911|223344556677885f5f5f5f5f5f 32 intel sbb word ptr [ecx], dx
-661911|223344556677885f5f5f5f5f5f 32 plan9 SBBW DX, 0(CX)
-661911|223344556677885f5f5f5f5f5f 64 gnu sbb %dx,(%rcx)
-661911|223344556677885f5f5f5f5f5f 64 intel sbb word ptr [rcx], dx
-661911|223344556677885f5f5f5f5f5f 64 plan9 SBBW DX, 0(CX)
-661b11|223344556677885f5f5f5f5f5f 32 intel sbb dx, word ptr [ecx]
-661b11|223344556677885f5f5f5f5f5f 32 plan9 SBBW 0(CX), DX
-661b11|223344556677885f5f5f5f5f5f 64 gnu sbb (%rcx),%dx
-661b11|223344556677885f5f5f5f5f5f 64 intel sbb dx, word ptr [rcx]
-661b11|223344556677885f5f5f5f5f5f 64 plan9 SBBW 0(CX), DX
-661d1122|3344556677885f5f5f5f5f5f 32 intel sbb ax, 0x2211
-661d1122|3344556677885f5f5f5f5f5f 32 plan9 SBBW $0x2211, AX
-661d1122|3344556677885f5f5f5f5f5f 64 gnu sbb $0x2211,%ax
-661d1122|3344556677885f5f5f5f5f5f 64 intel sbb ax, 0x2211
-661d1122|3344556677885f5f5f5f5f5f 64 plan9 SBBW $0x2211, AX
-662111|223344556677885f5f5f5f5f5f 32 intel and word ptr [ecx], dx
-662111|223344556677885f5f5f5f5f5f 32 plan9 ANDW DX, 0(CX)
-662111|223344556677885f5f5f5f5f5f 64 gnu and %dx,(%rcx)
-662111|223344556677885f5f5f5f5f5f 64 intel and word ptr [rcx], dx
-662111|223344556677885f5f5f5f5f5f 64 plan9 ANDW DX, 0(CX)
-662311|223344556677885f5f5f5f5f5f 32 intel and dx, word ptr [ecx]
-662311|223344556677885f5f5f5f5f5f 32 plan9 ANDW 0(CX), DX
-662311|223344556677885f5f5f5f5f5f 64 gnu and (%rcx),%dx
-662311|223344556677885f5f5f5f5f5f 64 intel and dx, word ptr [rcx]
-662311|223344556677885f5f5f5f5f5f 64 plan9 ANDW 0(CX), DX
-66251122|3344556677885f5f5f5f5f5f 32 intel and ax, 0x2211
-66251122|3344556677885f5f5f5f5f5f 32 plan9 ANDW $0x2211, AX
-66251122|3344556677885f5f5f5f5f5f 64 gnu and $0x2211,%ax
-66251122|3344556677885f5f5f5f5f5f 64 intel and ax, 0x2211
-66251122|3344556677885f5f5f5f5f5f 64 plan9 ANDW $0x2211, AX
-662911|223344556677885f5f5f5f5f5f 32 intel sub word ptr [ecx], dx
-662911|223344556677885f5f5f5f5f5f 32 plan9 SUBW DX, 0(CX)
-662911|223344556677885f5f5f5f5f5f 64 gnu sub %dx,(%rcx)
-662911|223344556677885f5f5f5f5f5f 64 intel sub word ptr [rcx], dx
-662911|223344556677885f5f5f5f5f5f 64 plan9 SUBW DX, 0(CX)
-662b11|223344556677885f5f5f5f5f5f 32 intel sub dx, word ptr [ecx]
-662b11|223344556677885f5f5f5f5f5f 32 plan9 SUBW 0(CX), DX
-662b11|223344556677885f5f5f5f5f5f 64 gnu sub (%rcx),%dx
-662b11|223344556677885f5f5f5f5f5f 64 intel sub dx, word ptr [rcx]
-662b11|223344556677885f5f5f5f5f5f 64 plan9 SUBW 0(CX), DX
-662d1122|3344556677885f5f5f5f5f5f 32 intel sub ax, 0x2211
-662d1122|3344556677885f5f5f5f5f5f 32 plan9 SUBW $0x2211, AX
-662d1122|3344556677885f5f5f5f5f5f 64 gnu sub $0x2211,%ax
-662d1122|3344556677885f5f5f5f5f5f 64 intel sub ax, 0x2211
-662d1122|3344556677885f5f5f5f5f5f 64 plan9 SUBW $0x2211, AX
-663111|223344556677885f5f5f5f5f5f 32 intel xor word ptr [ecx], dx
-663111|223344556677885f5f5f5f5f5f 32 plan9 XORW DX, 0(CX)
-663111|223344556677885f5f5f5f5f5f 64 gnu xor %dx,(%rcx)
-663111|223344556677885f5f5f5f5f5f 64 intel xor word ptr [rcx], dx
-663111|223344556677885f5f5f5f5f5f 64 plan9 XORW DX, 0(CX)
-663311|223344556677885f5f5f5f5f5f 32 intel xor dx, word ptr [ecx]
-663311|223344556677885f5f5f5f5f5f 32 plan9 XORW 0(CX), DX
-663311|223344556677885f5f5f5f5f5f 64 gnu xor (%rcx),%dx
-663311|223344556677885f5f5f5f5f5f 64 intel xor dx, word ptr [rcx]
-663311|223344556677885f5f5f5f5f5f 64 plan9 XORW 0(CX), DX
-66351122|3344556677885f5f5f5f5f5f 32 intel xor ax, 0x2211
-66351122|3344556677885f5f5f5f5f5f 32 plan9 XORW $0x2211, AX
-66351122|3344556677885f5f5f5f5f5f 64 gnu xor $0x2211,%ax
-66351122|3344556677885f5f5f5f5f5f 64 intel xor ax, 0x2211
-66351122|3344556677885f5f5f5f5f5f 64 plan9 XORW $0x2211, AX
-663911|223344556677885f5f5f5f5f5f 32 intel cmp word ptr [ecx], dx
-663911|223344556677885f5f5f5f5f5f 32 plan9 CMPW DX, 0(CX)
-663911|223344556677885f5f5f5f5f5f 64 gnu cmp %dx,(%rcx)
-663911|223344556677885f5f5f5f5f5f 64 intel cmp word ptr [rcx], dx
-663911|223344556677885f5f5f5f5f5f 64 plan9 CMPW DX, 0(CX)
-663b11|223344556677885f5f5f5f5f5f 32 intel cmp dx, word ptr [ecx]
-663b11|223344556677885f5f5f5f5f5f 32 plan9 CMPW 0(CX), DX
-663b11|223344556677885f5f5f5f5f5f 64 gnu cmp (%rcx),%dx
-663b11|223344556677885f5f5f5f5f5f 64 intel cmp dx, word ptr [rcx]
-663b11|223344556677885f5f5f5f5f5f 64 plan9 CMPW 0(CX), DX
-663d1122|3344556677885f5f5f5f5f5f 32 intel cmp ax, 0x2211
-663d1122|3344556677885f5f5f5f5f5f 32 plan9 CMPW $0x2211, AX
-663d1122|3344556677885f5f5f5f5f5f 64 gnu cmp $0x2211,%ax
-663d1122|3344556677885f5f5f5f5f5f 64 intel cmp ax, 0x2211
-663d1122|3344556677885f5f5f5f5f5f 64 plan9 CMPW $0x2211, AX
-6640|11223344556677885f5f5f5f5f5f 32 intel inc ax
-6640|11223344556677885f5f5f5f5f5f 32 plan9 INCW AX
-66480f3a161122|3344556677885f5f5f 64 gnu pextrq $0x22,%xmm2,(%rcx)
-66480f3a161122|3344556677885f5f5f 64 intel pextrq qword ptr [rcx], xmm2, 0x22
-66480f3a161122|3344556677885f5f5f 64 plan9 PEXTRQ $0x22, X2, 0(CX)
-66480f3a221122|3344556677885f5f5f 64 gnu pinsrq $0x22,(%rcx),%xmm2
-66480f3a221122|3344556677885f5f5f 64 intel pinsrq xmm2, qword ptr [rcx], 0x22
-66480f3a221122|3344556677885f5f5f 64 plan9 PINSRQ $0x22, 0(CX), X2
-66480f6e11|223344556677885f5f5f5f 64 gnu movq (%rcx),%xmm2
-66480f6e11|223344556677885f5f5f5f 64 intel movq xmm2, qword ptr [rcx]
-66480f6e11|223344556677885f5f5f5f 64 plan9 MOVQ 0(CX), X2
-66480f7e11|223344556677885f5f5f5f 64 gnu movq %xmm2,(%rcx)
-66480f7e11|223344556677885f5f5f5f 64 intel movq qword ptr [rcx], xmm2
-66480f7e11|223344556677885f5f5f5f 64 plan9 MOVQ X2, 0(CX)
-6648|0f3a1611223344556677885f5f5f 32 intel dec ax
-6648|0f3a1611223344556677885f5f5f 32 plan9 DECW AX
-6650|11223344556677885f5f5f5f5f5f 32 intel push ax
-6650|11223344556677885f5f5f5f5f5f 32 plan9 PUSHW AX
-6650|11223344556677885f5f5f5f5f5f 64 gnu push %ax
-6650|11223344556677885f5f5f5f5f5f 64 intel push ax
-6650|11223344556677885f5f5f5f5f5f 64 plan9 PUSHW AX
-6658|11223344556677885f5f5f5f5f5f 32 intel pop ax
-6658|11223344556677885f5f5f5f5f5f 32 plan9 POPW AX
-6658|11223344556677885f5f5f5f5f5f 64 gnu pop %ax
-6658|11223344556677885f5f5f5f5f5f 64 intel pop ax
-6658|11223344556677885f5f5f5f5f5f 64 plan9 POPW AX
-6660|11223344556677885f5f5f5f5f5f 32 intel data16 pusha
-6660|11223344556677885f5f5f5f5f5f 32 plan9 PUSHAW
-6661|11223344556677885f5f5f5f5f5f 32 intel data16 popa
-6661|11223344556677885f5f5f5f5f5f 32 plan9 POPAW
-666211|223344556677885f5f5f5f5f5f 32 intel bound dx, qword ptr [ecx]
-666211|223344556677885f5f5f5f5f5f 32 plan9 BOUND 0(CX), DX
-666311|223344556677885f5f5f5f5f5f 64 gnu movsxd (%rcx),%dx
-666311|223344556677885f5f5f5f5f5f 64 intel movsxd dx, dword ptr [rcx]
-666311|223344556677885f5f5f5f5f5f 64 plan9 MOVSXD 0(CX), DX
-66681122|3344556677885f5f5f5f5f5f 32 intel push 0x2211
-66681122|3344556677885f5f5f5f5f5f 32 plan9 PUSHW $0x2211
-66681122|3344556677885f5f5f5f5f5f 64 gnu pushw $0x2211
-66681122|3344556677885f5f5f5f5f5f 64 intel push 0x2211
-66681122|3344556677885f5f5f5f5f5f 64 plan9 PUSHW $0x2211
-6669112233|44556677885f5f5f5f5f5f 32 intel imul dx, word ptr [ecx], 0x3322
-6669112233|44556677885f5f5f5f5f5f 32 plan9 IMULW $0x3322, 0(CX), DX
-6669112233|44556677885f5f5f5f5f5f 64 gnu imul $0x3322,(%rcx),%dx
-6669112233|44556677885f5f5f5f5f5f 64 intel imul dx, word ptr [rcx], 0x3322
-6669112233|44556677885f5f5f5f5f5f 64 plan9 IMULW $0x3322, 0(CX), DX
-666b1122|3344556677885f5f5f5f5f5f 32 intel imul dx, word ptr [ecx], 0x22
-666b1122|3344556677885f5f5f5f5f5f 32 plan9 IMULW $0x22, 0(CX), DX
-666b1122|3344556677885f5f5f5f5f5f 64 gnu imul $0x22,(%rcx),%dx
-666b1122|3344556677885f5f5f5f5f5f 64 intel imul dx, word ptr [rcx], 0x22
-666b1122|3344556677885f5f5f5f5f5f 64 plan9 IMULW $0x22, 0(CX), DX
-666d|11223344556677885f5f5f5f5f5f 32 intel data16 insw
-666d|11223344556677885f5f5f5f5f5f 32 plan9 INSW DX, ES:0(DI)
-666d|11223344556677885f5f5f5f5f5f 64 gnu insw (%dx),%es:(%rdi)
-666d|11223344556677885f5f5f5f5f5f 64 intel data16 insw
-666d|11223344556677885f5f5f5f5f5f 64 plan9 INSW DX, ES:0(DI)
-666f|11223344556677885f5f5f5f5f5f 32 intel data16 outsw
-666f|11223344556677885f5f5f5f5f5f 32 plan9 OUTSW DS:0(SI), DX
-666f|11223344556677885f5f5f5f5f5f 64 gnu outsw %ds:(%rsi),(%dx)
-666f|11223344556677885f5f5f5f5f5f 64 intel data16 outsw
-666f|11223344556677885f5f5f5f5f5f 64 plan9 OUTSW DS:0(SI), DX
-6681001122|3344556677885f5f5f5f5f 32 intel add word ptr [eax], 0x2211
-6681001122|3344556677885f5f5f5f5f 32 plan9 ADDW $0x2211, 0(AX)
-6681001122|3344556677885f5f5f5f5f 64 gnu addw $0x2211,(%rax)
-6681001122|3344556677885f5f5f5f5f 64 intel add word ptr [rax], 0x2211
-6681001122|3344556677885f5f5f5f5f 64 plan9 ADDW $0x2211, 0(AX)
-6681081122|3344556677885f5f5f5f5f 32 intel or word ptr [eax], 0x2211
-6681081122|3344556677885f5f5f5f5f 32 plan9 ORW $0x2211, 0(AX)
-6681081122|3344556677885f5f5f5f5f 64 gnu orw $0x2211,(%rax)
-6681081122|3344556677885f5f5f5f5f 64 intel or word ptr [rax], 0x2211
-6681081122|3344556677885f5f5f5f5f 64 plan9 ORW $0x2211, 0(AX)
-6681112233|44556677885f5f5f5f5f5f 32 intel adc word ptr [ecx], 0x3322
-6681112233|44556677885f5f5f5f5f5f 32 plan9 ADCW $0x3322, 0(CX)
-6681112233|44556677885f5f5f5f5f5f 64 gnu adcw $0x3322,(%rcx)
-6681112233|44556677885f5f5f5f5f5f 64 intel adc word ptr [rcx], 0x3322
-6681112233|44556677885f5f5f5f5f5f 64 plan9 ADCW $0x3322, 0(CX)
-6681181122|3344556677885f5f5f5f5f 32 intel sbb word ptr [eax], 0x2211
-6681181122|3344556677885f5f5f5f5f 32 plan9 SBBW $0x2211, 0(AX)
-6681181122|3344556677885f5f5f5f5f 64 gnu sbbw $0x2211,(%rax)
-6681181122|3344556677885f5f5f5f5f 64 intel sbb word ptr [rax], 0x2211
-6681181122|3344556677885f5f5f5f5f 64 plan9 SBBW $0x2211, 0(AX)
-6681201122|3344556677885f5f5f5f5f 32 intel and word ptr [eax], 0x2211
-6681201122|3344556677885f5f5f5f5f 32 plan9 ANDW $0x2211, 0(AX)
-6681201122|3344556677885f5f5f5f5f 64 gnu andw $0x2211,(%rax)
-6681201122|3344556677885f5f5f5f5f 64 intel and word ptr [rax], 0x2211
-6681201122|3344556677885f5f5f5f5f 64 plan9 ANDW $0x2211, 0(AX)
-6681281122|3344556677885f5f5f5f5f 32 intel sub word ptr [eax], 0x2211
-6681281122|3344556677885f5f5f5f5f 32 plan9 SUBW $0x2211, 0(AX)
-6681281122|3344556677885f5f5f5f5f 64 gnu subw $0x2211,(%rax)
-6681281122|3344556677885f5f5f5f5f 64 intel sub word ptr [rax], 0x2211
-6681281122|3344556677885f5f5f5f5f 64 plan9 SUBW $0x2211, 0(AX)
-6681301122|3344556677885f5f5f5f5f 32 intel xor word ptr [eax], 0x2211
-6681301122|3344556677885f5f5f5f5f 32 plan9 XORW $0x2211, 0(AX)
-6681301122|3344556677885f5f5f5f5f 64 gnu xorw $0x2211,(%rax)
-6681301122|3344556677885f5f5f5f5f 64 intel xor word ptr [rax], 0x2211
-6681301122|3344556677885f5f5f5f5f 64 plan9 XORW $0x2211, 0(AX)
-6681381122|3344556677885f5f5f5f5f 32 intel cmp word ptr [eax], 0x2211
-6681381122|3344556677885f5f5f5f5f 32 plan9 CMPW $0x2211, 0(AX)
-6681381122|3344556677885f5f5f5f5f 64 gnu cmpw $0x2211,(%rax)
-6681381122|3344556677885f5f5f5f5f 64 intel cmp word ptr [rax], 0x2211
-6681381122|3344556677885f5f5f5f5f 64 plan9 CMPW $0x2211, 0(AX)
-66830011|223344556677885f5f5f5f5f 32 intel add word ptr [eax], 0x11
-66830011|223344556677885f5f5f5f5f 32 plan9 ADDW $0x11, 0(AX)
-66830011|223344556677885f5f5f5f5f 64 gnu addw $0x11,(%rax)
-66830011|223344556677885f5f5f5f5f 64 intel add word ptr [rax], 0x11
-66830011|223344556677885f5f5f5f5f 64 plan9 ADDW $0x11, 0(AX)
-66830811|223344556677885f5f5f5f5f 32 intel or word ptr [eax], 0x11
-66830811|223344556677885f5f5f5f5f 32 plan9 ORW $0x11, 0(AX)
-66830811|223344556677885f5f5f5f5f 64 gnu orw $0x11,(%rax)
-66830811|223344556677885f5f5f5f5f 64 intel or word ptr [rax], 0x11
-66830811|223344556677885f5f5f5f5f 64 plan9 ORW $0x11, 0(AX)
-66831122|3344556677885f5f5f5f5f5f 32 intel adc word ptr [ecx], 0x22
-66831122|3344556677885f5f5f5f5f5f 32 plan9 ADCW $0x22, 0(CX)
-66831122|3344556677885f5f5f5f5f5f 64 gnu adcw $0x22,(%rcx)
-66831122|3344556677885f5f5f5f5f5f 64 intel adc word ptr [rcx], 0x22
-66831122|3344556677885f5f5f5f5f5f 64 plan9 ADCW $0x22, 0(CX)
-66831811|223344556677885f5f5f5f5f 32 intel sbb word ptr [eax], 0x11
-66831811|223344556677885f5f5f5f5f 32 plan9 SBBW $0x11, 0(AX)
-66831811|223344556677885f5f5f5f5f 64 gnu sbbw $0x11,(%rax)
-66831811|223344556677885f5f5f5f5f 64 intel sbb word ptr [rax], 0x11
-66831811|223344556677885f5f5f5f5f 64 plan9 SBBW $0x11, 0(AX)
-66832011|223344556677885f5f5f5f5f 32 intel and word ptr [eax], 0x11
-66832011|223344556677885f5f5f5f5f 32 plan9 ANDW $0x11, 0(AX)
-66832011|223344556677885f5f5f5f5f 64 gnu andw $0x11,(%rax)
-66832011|223344556677885f5f5f5f5f 64 intel and word ptr [rax], 0x11
-66832011|223344556677885f5f5f5f5f 64 plan9 ANDW $0x11, 0(AX)
-66832811|223344556677885f5f5f5f5f 32 intel sub word ptr [eax], 0x11
-66832811|223344556677885f5f5f5f5f 32 plan9 SUBW $0x11, 0(AX)
-66832811|223344556677885f5f5f5f5f 64 gnu subw $0x11,(%rax)
-66832811|223344556677885f5f5f5f5f 64 intel sub word ptr [rax], 0x11
-66832811|223344556677885f5f5f5f5f 64 plan9 SUBW $0x11, 0(AX)
-66833011|223344556677885f5f5f5f5f 32 intel xor word ptr [eax], 0x11
-66833011|223344556677885f5f5f5f5f 32 plan9 XORW $0x11, 0(AX)
-66833011|223344556677885f5f5f5f5f 64 gnu xorw $0x11,(%rax)
-66833011|223344556677885f5f5f5f5f 64 intel xor word ptr [rax], 0x11
-66833011|223344556677885f5f5f5f5f 64 plan9 XORW $0x11, 0(AX)
-66833811|223344556677885f5f5f5f5f 32 intel cmp word ptr [eax], 0x11
-66833811|223344556677885f5f5f5f5f 32 plan9 CMPW $0x11, 0(AX)
-66833811|223344556677885f5f5f5f5f 64 gnu cmpw $0x11,(%rax)
-66833811|223344556677885f5f5f5f5f 64 intel cmp word ptr [rax], 0x11
-66833811|223344556677885f5f5f5f5f 64 plan9 CMPW $0x11, 0(AX)
-668511|223344556677885f5f5f5f5f5f 32 intel test word ptr [ecx], dx
-668511|223344556677885f5f5f5f5f5f 32 plan9 TESTW DX, 0(CX)
-668511|223344556677885f5f5f5f5f5f 64 gnu test %dx,(%rcx)
-668511|223344556677885f5f5f5f5f5f 64 intel test word ptr [rcx], dx
-668511|223344556677885f5f5f5f5f5f 64 plan9 TESTW DX, 0(CX)
-668711|223344556677885f5f5f5f5f5f 32 intel xchg word ptr [ecx], dx
-668711|223344556677885f5f5f5f5f5f 32 plan9 XCHGW DX, 0(CX)
-668711|223344556677885f5f5f5f5f5f 64 gnu xchg %dx,(%rcx)
-668711|223344556677885f5f5f5f5f5f 64 intel xchg word ptr [rcx], dx
-668711|223344556677885f5f5f5f5f5f 64 plan9 XCHGW DX, 0(CX)
-668911|223344556677885f5f5f5f5f5f 32 intel mov word ptr [ecx], dx
-668911|223344556677885f5f5f5f5f5f 32 plan9 MOVW DX, 0(CX)
-668911|223344556677885f5f5f5f5f5f 64 gnu mov %dx,(%rcx)
-668911|223344556677885f5f5f5f5f5f 64 intel mov word ptr [rcx], dx
-668911|223344556677885f5f5f5f5f5f 64 plan9 MOVW DX, 0(CX)
-668b11|223344556677885f5f5f5f5f5f 32 intel mov dx, word ptr [ecx]
-668b11|223344556677885f5f5f5f5f5f 32 plan9 MOVW 0(CX), DX
-668b11|223344556677885f5f5f5f5f5f 64 gnu mov (%rcx),%dx
-668b11|223344556677885f5f5f5f5f5f 64 intel mov dx, word ptr [rcx]
-668b11|223344556677885f5f5f5f5f5f 64 plan9 MOVW 0(CX), DX
-668c11|223344556677885f5f5f5f5f5f 32 intel mov word ptr [ecx], ss
-668c11|223344556677885f5f5f5f5f5f 32 plan9 MOVW SS, 0(CX)
-668c11|223344556677885f5f5f5f5f5f 64 gnu data16 mov %ss,(%rcx)
-668c11|223344556677885f5f5f5f5f5f 64 intel mov word ptr [rcx], ss
-668c11|223344556677885f5f5f5f5f5f 64 plan9 MOVW SS, 0(CX)
-668d11|223344556677885f5f5f5f5f5f 32 intel lea dx, ptr [ecx]
-668d11|223344556677885f5f5f5f5f5f 32 plan9 LEAW 0(CX), DX
-668d11|223344556677885f5f5f5f5f5f 64 gnu lea (%rcx),%dx
-668d11|223344556677885f5f5f5f5f5f 64 intel lea dx, ptr [rcx]
-668d11|223344556677885f5f5f5f5f5f 64 plan9 LEAW 0(CX), DX
-668ec0|11223344556677885f5f5f5f5f 32 intel mov es, ax
-668ec0|11223344556677885f5f5f5f5f 32 plan9 MOVW AX, ES
-668ec0|11223344556677885f5f5f5f5f 64 gnu mov %ax,%es
-668ec0|11223344556677885f5f5f5f5f 64 intel mov es, ax
-668ec0|11223344556677885f5f5f5f5f 64 plan9 MOVW AX, ES
-668f00|11223344556677885f5f5f5f5f 32 intel pop word ptr [eax]
-668f00|11223344556677885f5f5f5f5f 32 plan9 POPW 0(AX)
-668f00|11223344556677885f5f5f5f5f 64 gnu popw (%rax)
-668f00|11223344556677885f5f5f5f5f 64 intel pop word ptr [rax]
-668f00|11223344556677885f5f5f5f5f 64 plan9 POPW 0(AX)
-6690|11223344556677885f5f5f5f5f5f 32 plan9 NOPW
-6690|11223344556677885f5f5f5f5f5f 64 gnu data16 nop
-6690|11223344556677885f5f5f5f5f5f 64 plan9 NOPW
-6698|11223344556677885f5f5f5f5f5f 32 intel data16 cbw
-6698|11223344556677885f5f5f5f5f5f 32 plan9 CBW
-6698|11223344556677885f5f5f5f5f5f 64 gnu cbtw
-6698|11223344556677885f5f5f5f5f5f 64 intel data16 cbw
-6698|11223344556677885f5f5f5f5f5f 64 plan9 CBW
-6699|11223344556677885f5f5f5f5f5f 32 intel data16 cwd
-6699|11223344556677885f5f5f5f5f5f 32 plan9 CWD
-6699|11223344556677885f5f5f5f5f5f 64 gnu cwtd
-6699|11223344556677885f5f5f5f5f5f 64 intel data16 cwd
-6699|11223344556677885f5f5f5f5f5f 64 plan9 CWD
-669a11223344|556677885f5f5f5f5f5f 32 intel call far 0x2211, 0x4433
-669a11223344|556677885f5f5f5f5f5f 32 plan9 LCALL $0x2211, $0x4433
-669c|11223344556677885f5f5f5f5f5f 32 intel data16 pushf
-669c|11223344556677885f5f5f5f5f5f 32 plan9 PUSHF
-669c|11223344556677885f5f5f5f5f5f 64 gnu pushfw
-669c|11223344556677885f5f5f5f5f5f 64 intel data16 pushf
-669c|11223344556677885f5f5f5f5f5f 64 plan9 PUSHF
-669d|11223344556677885f5f5f5f5f5f 32 intel data16 popf
-669d|11223344556677885f5f5f5f5f5f 32 plan9 POPF
-669d|11223344556677885f5f5f5f5f5f 64 gnu popfw
-669d|11223344556677885f5f5f5f5f5f 64 intel data16 popf
-669d|11223344556677885f5f5f5f5f5f 64 plan9 POPF
-66a11122334455667788|5f5f5f5f5f5f 64 gnu mov -0x778899aabbccddef,%ax
-66a11122334455667788|5f5f5f5f5f5f 64 intel mov ax, word ptr [0x8877665544332211]
-66a11122334455667788|5f5f5f5f5f5f 64 plan9 MOVW -0x778899aabbccddef, AX
-66a111223344|556677885f5f5f5f5f5f 32 intel mov ax, word ptr [0x44332211]
-66a111223344|556677885f5f5f5f5f5f 32 plan9 MOVW 0x44332211, AX
-66a31122334455667788|5f5f5f5f5f5f 64 gnu mov %ax,-0x778899aabbccddef
-66a31122334455667788|5f5f5f5f5f5f 64 intel mov word ptr [0x8877665544332211], ax
-66a31122334455667788|5f5f5f5f5f5f 64 plan9 MOVW AX, -0x778899aabbccddef
-66a311223344|556677885f5f5f5f5f5f 32 intel mov word ptr [0x44332211], ax
-66a311223344|556677885f5f5f5f5f5f 32 plan9 MOVW AX, 0x44332211
-66a5|11223344556677885f5f5f5f5f5f 32 intel movsw word ptr [edi], word ptr [esi]
-66a5|11223344556677885f5f5f5f5f5f 32 plan9 MOVSW DS:0(SI), ES:0(DI)
-66a5|11223344556677885f5f5f5f5f5f 64 gnu movsw %ds:(%rsi),%es:(%rdi)
-66a5|11223344556677885f5f5f5f5f5f 64 intel movsw word ptr [rdi], word ptr [rsi]
-66a5|11223344556677885f5f5f5f5f5f 64 plan9 MOVSW DS:0(SI), ES:0(DI)
-66a7|11223344556677885f5f5f5f5f5f 32 intel cmpsw word ptr [esi], word ptr [edi]
-66a7|11223344556677885f5f5f5f5f5f 32 plan9 CMPSW ES:0(DI), DS:0(SI)
-66a7|11223344556677885f5f5f5f5f5f 64 gnu cmpsw %es:(%rdi),%ds:(%rsi)
-66a7|11223344556677885f5f5f5f5f5f 64 intel cmpsw word ptr [rsi], word ptr [rdi]
-66a7|11223344556677885f5f5f5f5f5f 64 plan9 CMPSW ES:0(DI), DS:0(SI)
-66a91122|3344556677885f5f5f5f5f5f 32 intel test ax, 0x2211
-66a91122|3344556677885f5f5f5f5f5f 32 plan9 TESTW $0x2211, AX
-66a91122|3344556677885f5f5f5f5f5f 64 gnu test $0x2211,%ax
-66a91122|3344556677885f5f5f5f5f5f 64 intel test ax, 0x2211
-66a91122|3344556677885f5f5f5f5f5f 64 plan9 TESTW $0x2211, AX
-66ab|11223344556677885f5f5f5f5f5f 32 intel stosw word ptr [edi]
-66ab|11223344556677885f5f5f5f5f5f 32 plan9 STOSW AX, ES:0(DI)
-66ab|11223344556677885f5f5f5f5f5f 64 gnu stos %ax,%es:(%rdi)
-66ab|11223344556677885f5f5f5f5f5f 64 intel stosw word ptr [rdi]
-66ab|11223344556677885f5f5f5f5f5f 64 plan9 STOSW AX, ES:0(DI)
-66ad|11223344556677885f5f5f5f5f5f 32 intel lodsw word ptr [esi]
-66ad|11223344556677885f5f5f5f5f5f 32 plan9 LODSW DS:0(SI), AX
-66ad|11223344556677885f5f5f5f5f5f 64 gnu lods %ds:(%rsi),%ax
-66ad|11223344556677885f5f5f5f5f5f 64 intel lodsw word ptr [rsi]
-66ad|11223344556677885f5f5f5f5f5f 64 plan9 LODSW DS:0(SI), AX
-66af|11223344556677885f5f5f5f5f5f 32 intel scasw word ptr [edi]
-66af|11223344556677885f5f5f5f5f5f 32 plan9 SCASW ES:0(DI), AX
-66af|11223344556677885f5f5f5f5f5f 64 gnu scas %es:(%rdi),%ax
-66af|11223344556677885f5f5f5f5f5f 64 intel scasw word ptr [rdi]
-66af|11223344556677885f5f5f5f5f5f 64 plan9 SCASW ES:0(DI), AX
-66b81122|3344556677885f5f5f5f5f5f 32 intel mov ax, 0x2211
-66b81122|3344556677885f5f5f5f5f5f 32 plan9 MOVW $0x2211, AX
-66b81122|3344556677885f5f5f5f5f5f 64 gnu mov $0x2211,%ax
-66b81122|3344556677885f5f5f5f5f5f 64 intel mov ax, 0x2211
-66b81122|3344556677885f5f5f5f5f5f 64 plan9 MOVW $0x2211, AX
-66c10011|223344556677885f5f5f5f5f 32 intel rol word ptr [eax], 0x11
-66c10011|223344556677885f5f5f5f5f 32 plan9 ROLW $0x11, 0(AX)
-66c10011|223344556677885f5f5f5f5f 64 gnu rolw $0x11,(%rax)
-66c10011|223344556677885f5f5f5f5f 64 intel rol word ptr [rax], 0x11
-66c10011|223344556677885f5f5f5f5f 64 plan9 ROLW $0x11, 0(AX)
-66c10811|223344556677885f5f5f5f5f 32 intel ror word ptr [eax], 0x11
-66c10811|223344556677885f5f5f5f5f 32 plan9 RORW $0x11, 0(AX)
-66c10811|223344556677885f5f5f5f5f 64 gnu rorw $0x11,(%rax)
-66c10811|223344556677885f5f5f5f5f 64 intel ror word ptr [rax], 0x11
-66c10811|223344556677885f5f5f5f5f 64 plan9 RORW $0x11, 0(AX)
-66c11122|3344556677885f5f5f5f5f5f 32 intel rcl word ptr [ecx], 0x22
-66c11122|3344556677885f5f5f5f5f5f 32 plan9 RCLW $0x22, 0(CX)
-66c11122|3344556677885f5f5f5f5f5f 64 gnu rclw $0x22,(%rcx)
-66c11122|3344556677885f5f5f5f5f5f 64 intel rcl word ptr [rcx], 0x22
-66c11122|3344556677885f5f5f5f5f5f 64 plan9 RCLW $0x22, 0(CX)
-66c11811|223344556677885f5f5f5f5f 32 intel rcr word ptr [eax], 0x11
-66c11811|223344556677885f5f5f5f5f 32 plan9 RCRW $0x11, 0(AX)
-66c11811|223344556677885f5f5f5f5f 64 gnu rcrw $0x11,(%rax)
-66c11811|223344556677885f5f5f5f5f 64 intel rcr word ptr [rax], 0x11
-66c11811|223344556677885f5f5f5f5f 64 plan9 RCRW $0x11, 0(AX)
-66c12011|223344556677885f5f5f5f5f 32 intel shl word ptr [eax], 0x11
-66c12011|223344556677885f5f5f5f5f 32 plan9 SHLW $0x11, 0(AX)
-66c12011|223344556677885f5f5f5f5f 64 gnu shlw $0x11,(%rax)
-66c12011|223344556677885f5f5f5f5f 64 intel shl word ptr [rax], 0x11
-66c12011|223344556677885f5f5f5f5f 64 plan9 SHLW $0x11, 0(AX)
-66c12811|223344556677885f5f5f5f5f 32 intel shr word ptr [eax], 0x11
-66c12811|223344556677885f5f5f5f5f 32 plan9 SHRW $0x11, 0(AX)
-66c12811|223344556677885f5f5f5f5f 64 gnu shrw $0x11,(%rax)
-66c12811|223344556677885f5f5f5f5f 64 intel shr word ptr [rax], 0x11
-66c12811|223344556677885f5f5f5f5f 64 plan9 SHRW $0x11, 0(AX)
-66c13811|223344556677885f5f5f5f5f 32 intel sar word ptr [eax], 0x11
-66c13811|223344556677885f5f5f5f5f 32 plan9 SARW $0x11, 0(AX)
-66c13811|223344556677885f5f5f5f5f 64 gnu sarw $0x11,(%rax)
-66c13811|223344556677885f5f5f5f5f 64 intel sar word ptr [rax], 0x11
-66c13811|223344556677885f5f5f5f5f 64 plan9 SARW $0x11, 0(AX)
-66c21122|3344556677885f5f5f5f5f5f 32 intel ret 0x2211
-66c21122|3344556677885f5f5f5f5f5f 32 plan9 RET $0x2211
-66c21122|3344556677885f5f5f5f5f5f 64 gnu retw $0x2211
-66c21122|3344556677885f5f5f5f5f5f 64 intel ret 0x2211
-66c21122|3344556677885f5f5f5f5f5f 64 plan9 RET $0x2211
-66c411|223344556677885f5f5f5f5f5f 32 intel les dx, dword ptr [ecx]
-66c411|223344556677885f5f5f5f5f5f 32 plan9 LES 0(CX), DX
-66c511|223344556677885f5f5f5f5f5f 32 intel lds dx, dword ptr [ecx]
-66c511|223344556677885f5f5f5f5f5f 32 plan9 LDS 0(CX), DX
-66c7001122|3344556677885f5f5f5f5f 32 intel mov word ptr [eax], 0x2211
-66c7001122|3344556677885f5f5f5f5f 32 plan9 MOVW $0x2211, 0(AX)
-66c7001122|3344556677885f5f5f5f5f 64 gnu movw $0x2211,(%rax)
-66c7001122|3344556677885f5f5f5f5f 64 intel mov word ptr [rax], 0x2211
-66c7001122|3344556677885f5f5f5f5f 64 plan9 MOVW $0x2211, 0(AX)
-66c7f81122|3344556677885f5f5f5f5f 32 intel xbegin .+0x2211
-66c7f81122|3344556677885f5f5f5f5f 32 plan9 XBEGIN .+8721
-66c7f81122|3344556677885f5f5f5f5f 64 gnu xbeginw .+0x2211
-66c7f81122|3344556677885f5f5f5f5f 64 intel xbegin .+0x2211
-66c7f81122|3344556677885f5f5f5f5f 64 plan9 XBEGIN .+8721
-66c9|11223344556677885f5f5f5f5f5f 32 intel data16 leave
-66c9|11223344556677885f5f5f5f5f5f 32 plan9 LEAVE
-66c9|11223344556677885f5f5f5f5f5f 64 gnu leavew
-66c9|11223344556677885f5f5f5f5f5f 64 intel data16 leave
-66c9|11223344556677885f5f5f5f5f5f 64 plan9 LEAVE
-66cf|11223344556677885f5f5f5f5f5f 32 intel data16 iret
-66cf|11223344556677885f5f5f5f5f5f 32 plan9 IRET
-66cf|11223344556677885f5f5f5f5f5f 64 gnu iretw
-66cf|11223344556677885f5f5f5f5f5f 64 intel data16 iret
-66cf|11223344556677885f5f5f5f5f5f 64 plan9 IRET
-66d100|11223344556677885f5f5f5f5f 32 intel rol word ptr [eax], 0x1
-66d100|11223344556677885f5f5f5f5f 32 plan9 ROLW $0x1, 0(AX)
-66d100|11223344556677885f5f5f5f5f 64 gnu rolw (%rax)
-66d100|11223344556677885f5f5f5f5f 64 intel rol word ptr [rax], 0x1
-66d100|11223344556677885f5f5f5f5f 64 plan9 ROLW $0x1, 0(AX)
-66d108|11223344556677885f5f5f5f5f 32 intel ror word ptr [eax], 0x1
-66d108|11223344556677885f5f5f5f5f 32 plan9 RORW $0x1, 0(AX)
-66d108|11223344556677885f5f5f5f5f 64 gnu rorw (%rax)
-66d108|11223344556677885f5f5f5f5f 64 intel ror word ptr [rax], 0x1
-66d108|11223344556677885f5f5f5f5f 64 plan9 RORW $0x1, 0(AX)
-66d111|223344556677885f5f5f5f5f5f 32 intel rcl word ptr [ecx], 0x1
-66d111|223344556677885f5f5f5f5f5f 32 plan9 RCLW $0x1, 0(CX)
-66d111|223344556677885f5f5f5f5f5f 64 gnu rclw (%rcx)
-66d111|223344556677885f5f5f5f5f5f 64 intel rcl word ptr [rcx], 0x1
-66d111|223344556677885f5f5f5f5f5f 64 plan9 RCLW $0x1, 0(CX)
-66d118|11223344556677885f5f5f5f5f 32 intel rcr word ptr [eax], 0x1
-66d118|11223344556677885f5f5f5f5f 32 plan9 RCRW $0x1, 0(AX)
-66d118|11223344556677885f5f5f5f5f 64 gnu rcrw (%rax)
-66d118|11223344556677885f5f5f5f5f 64 intel rcr word ptr [rax], 0x1
-66d118|11223344556677885f5f5f5f5f 64 plan9 RCRW $0x1, 0(AX)
-66d120|11223344556677885f5f5f5f5f 32 intel shl word ptr [eax], 0x1
-66d120|11223344556677885f5f5f5f5f 32 plan9 SHLW $0x1, 0(AX)
-66d120|11223344556677885f5f5f5f5f 64 gnu shlw (%rax)
-66d120|11223344556677885f5f5f5f5f 64 intel shl word ptr [rax], 0x1
-66d120|11223344556677885f5f5f5f5f 64 plan9 SHLW $0x1, 0(AX)
-66d128|11223344556677885f5f5f5f5f 32 intel shr word ptr [eax], 0x1
-66d128|11223344556677885f5f5f5f5f 32 plan9 SHRW $0x1, 0(AX)
-66d128|11223344556677885f5f5f5f5f 64 gnu shrw (%rax)
-66d128|11223344556677885f5f5f5f5f 64 intel shr word ptr [rax], 0x1
-66d128|11223344556677885f5f5f5f5f 64 plan9 SHRW $0x1, 0(AX)
-66d138|11223344556677885f5f5f5f5f 32 intel sar word ptr [eax], 0x1
-66d138|11223344556677885f5f5f5f5f 32 plan9 SARW $0x1, 0(AX)
-66d138|11223344556677885f5f5f5f5f 64 gnu sarw (%rax)
-66d138|11223344556677885f5f5f5f5f 64 intel sar word ptr [rax], 0x1
-66d138|11223344556677885f5f5f5f5f 64 plan9 SARW $0x1, 0(AX)
-66d300|11223344556677885f5f5f5f5f 32 intel rol word ptr [eax], cl
-66d300|11223344556677885f5f5f5f5f 32 plan9 ROLW CL, 0(AX)
-66d300|11223344556677885f5f5f5f5f 64 gnu rolw %cl,(%rax)
-66d300|11223344556677885f5f5f5f5f 64 intel rol word ptr [rax], cl
-66d300|11223344556677885f5f5f5f5f 64 plan9 ROLW CL, 0(AX)
-66d308|11223344556677885f5f5f5f5f 32 intel ror word ptr [eax], cl
-66d308|11223344556677885f5f5f5f5f 32 plan9 RORW CL, 0(AX)
-66d308|11223344556677885f5f5f5f5f 64 gnu rorw %cl,(%rax)
-66d308|11223344556677885f5f5f5f5f 64 intel ror word ptr [rax], cl
-66d308|11223344556677885f5f5f5f5f 64 plan9 RORW CL, 0(AX)
-66d311|223344556677885f5f5f5f5f5f 32 intel rcl word ptr [ecx], cl
-66d311|223344556677885f5f5f5f5f5f 32 plan9 RCLW CL, 0(CX)
-66d311|223344556677885f5f5f5f5f5f 64 gnu rclw %cl,(%rcx)
-66d311|223344556677885f5f5f5f5f5f 64 intel rcl word ptr [rcx], cl
-66d311|223344556677885f5f5f5f5f5f 64 plan9 RCLW CL, 0(CX)
-66d318|11223344556677885f5f5f5f5f 32 intel rcr word ptr [eax], cl
-66d318|11223344556677885f5f5f5f5f 32 plan9 RCRW CL, 0(AX)
-66d318|11223344556677885f5f5f5f5f 64 gnu rcrw %cl,(%rax)
-66d318|11223344556677885f5f5f5f5f 64 intel rcr word ptr [rax], cl
-66d318|11223344556677885f5f5f5f5f 64 plan9 RCRW CL, 0(AX)
-66d320|11223344556677885f5f5f5f5f 32 intel shl word ptr [eax], cl
-66d320|11223344556677885f5f5f5f5f 32 plan9 SHLW CL, 0(AX)
-66d320|11223344556677885f5f5f5f5f 64 gnu shlw %cl,(%rax)
-66d320|11223344556677885f5f5f5f5f 64 intel shl word ptr [rax], cl
-66d320|11223344556677885f5f5f5f5f 64 plan9 SHLW CL, 0(AX)
-66d328|11223344556677885f5f5f5f5f 32 intel shr word ptr [eax], cl
-66d328|11223344556677885f5f5f5f5f 32 plan9 SHRW CL, 0(AX)
-66d328|11223344556677885f5f5f5f5f 64 gnu shrw %cl,(%rax)
-66d328|11223344556677885f5f5f5f5f 64 intel shr word ptr [rax], cl
-66d328|11223344556677885f5f5f5f5f 64 plan9 SHRW CL, 0(AX)
-66d338|11223344556677885f5f5f5f5f 32 intel sar word ptr [eax], cl
-66d338|11223344556677885f5f5f5f5f 32 plan9 SARW CL, 0(AX)
-66d338|11223344556677885f5f5f5f5f 64 gnu sarw %cl,(%rax)
-66d338|11223344556677885f5f5f5f5f 64 intel sar word ptr [rax], cl
-66d338|11223344556677885f5f5f5f5f 64 plan9 SARW CL, 0(AX)
-66d411|223344556677885f5f5f5f5f5f 32 intel aam 0x11
-66d411|223344556677885f5f5f5f5f5f 32 plan9 AAM $0x11
-66d920|11223344556677885f5f5f5f5f 32 intel fldenv ptr [eax]
-66d920|11223344556677885f5f5f5f5f 32 plan9 FLDENVW 0(AX)
-66d920|11223344556677885f5f5f5f5f 64 gnu fldenvs (%rax)
-66d920|11223344556677885f5f5f5f5f 64 intel fldenv ptr [rax]
-66d920|11223344556677885f5f5f5f5f 64 plan9 FLDENVW 0(AX)
-66e511|223344556677885f5f5f5f5f5f 32 intel in ax, 0x11
-66e511|223344556677885f5f5f5f5f5f 32 plan9 INW $0x11, AX
-66e511|223344556677885f5f5f5f5f5f 64 gnu in $0x11,%ax
-66e511|223344556677885f5f5f5f5f5f 64 intel in ax, 0x11
-66e511|223344556677885f5f5f5f5f5f 64 plan9 INW $0x11, AX
-66e711|223344556677885f5f5f5f5f5f 32 intel out 0x11, ax
-66e711|223344556677885f5f5f5f5f5f 32 plan9 OUTW AX, $0x11
-66e711|223344556677885f5f5f5f5f5f 64 gnu out %ax,$0x11
-66e711|223344556677885f5f5f5f5f5f 64 intel out 0x11, ax
-66e711|223344556677885f5f5f5f5f5f 64 plan9 OUTW AX, $0x11
-66e811223344|556677885f5f5f5f5f5f 64 gnu callw .+0x44332211
-66e811223344|556677885f5f5f5f5f5f 64 intel call .+0x44332211
-66e811223344|556677885f5f5f5f5f5f 64 plan9 CALL .+1144201745
-66e81122|3344556677885f5f5f5f5f5f 32 intel call .+0x2211
-66e81122|3344556677885f5f5f5f5f5f 32 plan9 CALL .+8721
-66e911223344|556677885f5f5f5f5f5f 64 gnu jmpw .+0x44332211
-66e911223344|556677885f5f5f5f5f5f 64 intel jmp .+0x44332211
-66e911223344|556677885f5f5f5f5f5f 64 plan9 JMP .+1144201745
-66e91122|3344556677885f5f5f5f5f5f 32 intel jmp .+0x2211
-66e91122|3344556677885f5f5f5f5f5f 32 plan9 JMP .+8721
-66ea11223344|556677885f5f5f5f5f5f 32 intel jmp far 0x2211, 0x4433
-66ea11223344|556677885f5f5f5f5f5f 32 plan9 LJMP $0x2211, $0x4433
-66ed|11223344556677885f5f5f5f5f5f 32 intel in ax, dx
-66ed|11223344556677885f5f5f5f5f5f 32 plan9 INW DX, AX
-66ed|11223344556677885f5f5f5f5f5f 64 gnu in (%dx),%ax
-66ed|11223344556677885f5f5f5f5f5f 64 intel in ax, dx
-66ed|11223344556677885f5f5f5f5f5f 64 plan9 INW DX, AX
-66ef|11223344556677885f5f5f5f5f5f 32 intel out dx, ax
-66ef|11223344556677885f5f5f5f5f5f 32 plan9 OUTW AX, DX
-66ef|11223344556677885f5f5f5f5f5f 64 gnu out %ax,(%dx)
-66ef|11223344556677885f5f5f5f5f5f 64 intel out dx, ax
-66ef|11223344556677885f5f5f5f5f5f 64 plan9 OUTW AX, DX
-66f20f2a11|223344556677885f5f5f5f 32 intel cvtsi2sd xmm2, dword ptr [ecx]
-66f20f2a11|223344556677885f5f5f5f 32 plan9 CVTSI2SDL 0(CX), X2
-66f20f2a11|223344556677885f5f5f5f 64 gnu cvtsi2sdl (%rcx),%xmm2
-66f20f2a11|223344556677885f5f5f5f 64 intel cvtsi2sd xmm2, dword ptr [rcx]
-66f20f2a11|223344556677885f5f5f5f 64 plan9 CVTSI2SDL 0(CX), X2
-# the Q extension is the size of the source float64 in memory. The destination is L.
-66f20f2c11|223344556677885f5f5f5f 32 intel cvttsd2si edx, qword ptr [ecx]
-66f20f2c11|223344556677885f5f5f5f 32 plan9 CVTTSD2SIQ 0(CX), DX
-66f20f2c11|223344556677885f5f5f5f 64 gnu cvttsd2si (%rcx),%dx
-66f20f2c11|223344556677885f5f5f5f 64 intel cvttsd2si edx, qword ptr [rcx]
-66f20f2c11|223344556677885f5f5f5f 64 plan9 CVTTSD2SIQ 0(CX), DX
-66f20f2d11|223344556677885f5f5f5f 32 intel cvtsd2si edx, qword ptr [ecx]
-66f20f2d11|223344556677885f5f5f5f 32 plan9 CVTSD2SIQ 0(CX), DX
-66f20f2d11|223344556677885f5f5f5f 64 gnu cvtsd2si (%rcx),%dx
-66f20f2d11|223344556677885f5f5f5f 64 intel cvtsd2si edx, qword ptr [rcx]
-66f20f2d11|223344556677885f5f5f5f 64 plan9 CVTSD2SIQ 0(CX), DX
-66f20f38f011|223344556677885f5f5f 32 intel crc32 edx, byte ptr [ecx]
-66f20f38f011|223344556677885f5f5f 32 plan9 CRC32 0(CX), DX
-66f20f38f011|223344556677885f5f5f 64 gnu crc32b (%rcx),%edx
-66f20f38f011|223344556677885f5f5f 64 intel crc32 edx, byte ptr [rcx]
-66f20f38f011|223344556677885f5f5f 64 plan9 CRC32 0(CX), DX
-66f30f2c11|223344556677885f5f5f5f 32 intel cvttss2si edx, dword ptr [ecx]
-66f30f2c11|223344556677885f5f5f5f 32 plan9 CVTTSS2SIL 0(CX), DX
-66f30f2c11|223344556677885f5f5f5f 64 gnu cvttss2si (%rcx),%dx
-66f30f2c11|223344556677885f5f5f5f 64 intel cvttss2si edx, dword ptr [rcx]
-66f30f2c11|223344556677885f5f5f5f 64 plan9 CVTTSS2SIL 0(CX), DX
-66f30f2d11|223344556677885f5f5f5f 32 intel cvtss2si edx, dword ptr [ecx]
-66f30f2d11|223344556677885f5f5f5f 32 plan9 CVTSS2SIL 0(CX), DX
-66f30f2d11|223344556677885f5f5f5f 64 gnu cvtss2si (%rcx),%dx
-66f30f2d11|223344556677885f5f5f5f 64 intel cvtss2si edx, dword ptr [rcx]
-66f30f2d11|223344556677885f5f5f5f 64 plan9 CVTSS2SIL 0(CX), DX
-66f30fae11|223344556677885f5f5f5f 64 gnu wrfsbasel (%rcx)
-66f30fae11|223344556677885f5f5f5f 64 intel wrfsbase dword ptr [rcx]
-66f30fae11|223344556677885f5f5f5f 64 plan9 WRFSBASE 0(CX)
-66f30fae18|11223344556677885f5f5f 64 gnu wrgsbasel (%rax)
-66f30fae18|11223344556677885f5f5f 64 intel wrgsbase dword ptr [rax]
-66f30fae18|11223344556677885f5f5f 64 plan9 WRGSBASE 0(AX)
-66f30faec0|11223344556677885f5f5f 64 gnu rdfsbase %eax
-66f30faec0|11223344556677885f5f5f 64 intel rdfsbase eax
-66f30faec0|11223344556677885f5f5f 64 plan9 RDFSBASE AX
-66f30faec8|11223344556677885f5f5f 64 gnu rdgsbase %eax
-66f30faec8|11223344556677885f5f5f 64 intel rdgsbase eax
-66f30faec8|11223344556677885f5f5f 64 plan9 RDGSBASE AX
-66f30fd6c5|11223344556677885f5f5f 32 intel movq2dq xmm0, mmx5
-66f30fd6c5|11223344556677885f5f5f 32 plan9 MOVQ2DQ M5, X0
-66f30fd6c5|11223344556677885f5f5f 64 gnu movq2dq %mm5,%xmm0
-66f30fd6c5|11223344556677885f5f5f 64 intel movq2dq xmm0, mmx5
-66f30fd6c5|11223344556677885f5f5f 64 plan9 MOVQ2DQ M5, X0
-66f7001122|3344556677885f5f5f5f5f 32 intel test word ptr [eax], 0x2211
-66f7001122|3344556677885f5f5f5f5f 32 plan9 TESTW $0x2211, 0(AX)
-66f7001122|3344556677885f5f5f5f5f 64 gnu testw $0x2211,(%rax)
-66f7001122|3344556677885f5f5f5f5f 64 intel test word ptr [rax], 0x2211
-66f7001122|3344556677885f5f5f5f5f 64 plan9 TESTW $0x2211, 0(AX)
-66f711|223344556677885f5f5f5f5f5f 32 intel not word ptr [ecx]
-66f711|223344556677885f5f5f5f5f5f 32 plan9 NOTW 0(CX)
-66f711|223344556677885f5f5f5f5f5f 64 gnu notw (%rcx)
-66f711|223344556677885f5f5f5f5f5f 64 intel not word ptr [rcx]
-66f711|223344556677885f5f5f5f5f5f 64 plan9 NOTW 0(CX)
-66f718|11223344556677885f5f5f5f5f 32 intel neg word ptr [eax]
-66f718|11223344556677885f5f5f5f5f 32 plan9 NEGW 0(AX)
-66f718|11223344556677885f5f5f5f5f 64 gnu negw (%rax)
-66f718|11223344556677885f5f5f5f5f 64 intel neg word ptr [rax]
-66f718|11223344556677885f5f5f5f5f 64 plan9 NEGW 0(AX)
-66f720|11223344556677885f5f5f5f5f 32 intel mul word ptr [eax]
-66f720|11223344556677885f5f5f5f5f 32 plan9 MULW 0(AX)
-66f720|11223344556677885f5f5f5f5f 64 gnu mulw (%rax)
-66f720|11223344556677885f5f5f5f5f 64 intel mul word ptr [rax]
-66f720|11223344556677885f5f5f5f5f 64 plan9 MULW 0(AX)
-66f728|11223344556677885f5f5f5f5f 32 intel imul word ptr [eax]
-66f728|11223344556677885f5f5f5f5f 32 plan9 IMULW 0(AX)
-66f728|11223344556677885f5f5f5f5f 64 gnu imulw (%rax)
-66f728|11223344556677885f5f5f5f5f 64 intel imul word ptr [rax]
-66f728|11223344556677885f5f5f5f5f 64 plan9 IMULW 0(AX)
-66f730|11223344556677885f5f5f5f5f 32 intel div word ptr [eax]
-66f730|11223344556677885f5f5f5f5f 32 plan9 DIVW 0(AX)
-66f730|11223344556677885f5f5f5f5f 64 gnu divw (%rax)
-66f730|11223344556677885f5f5f5f5f 64 intel div word ptr [rax]
-66f730|11223344556677885f5f5f5f5f 64 plan9 DIVW 0(AX)
-66f738|11223344556677885f5f5f5f5f 32 intel idiv word ptr [eax]
-66f738|11223344556677885f5f5f5f5f 32 plan9 IDIVW 0(AX)
-66f738|11223344556677885f5f5f5f5f 64 gnu idivw (%rax)
-66f738|11223344556677885f5f5f5f5f 64 intel idiv word ptr [rax]
-66f738|11223344556677885f5f5f5f5f 64 plan9 IDIVW 0(AX)
-66ff00|11223344556677885f5f5f5f5f 32 intel inc word ptr [eax]
-66ff00|11223344556677885f5f5f5f5f 32 plan9 INCW 0(AX)
-66ff00|11223344556677885f5f5f5f5f 64 gnu incw (%rax)
-66ff00|11223344556677885f5f5f5f5f 64 intel inc word ptr [rax]
-66ff00|11223344556677885f5f5f5f5f 64 plan9 INCW 0(AX)
-66ff08|11223344556677885f5f5f5f5f 32 intel dec word ptr [eax]
-66ff08|11223344556677885f5f5f5f5f 32 plan9 DECW 0(AX)
-66ff08|11223344556677885f5f5f5f5f 64 gnu decw (%rax)
-66ff08|11223344556677885f5f5f5f5f 64 intel dec word ptr [rax]
-66ff08|11223344556677885f5f5f5f5f 64 plan9 DECW 0(AX)
-66ff11|223344556677885f5f5f5f5f5f 32 intel call word ptr [ecx]
-66ff11|223344556677885f5f5f5f5f5f 32 plan9 CALL 0(CX)
-66ff11|223344556677885f5f5f5f5f5f 64 gnu callw *(%rcx)
-66ff11|223344556677885f5f5f5f5f5f 64 intel call qword ptr [rcx]
-66ff11|223344556677885f5f5f5f5f5f 64 plan9 CALL 0(CX)
-66ff18|11223344556677885f5f5f5f5f 32 intel call far dword ptr [eax]
-66ff18|11223344556677885f5f5f5f5f 32 plan9 LCALL 0(AX)
-66ff18|11223344556677885f5f5f5f5f 64 gnu lcallw *(%rax)
-66ff18|11223344556677885f5f5f5f5f 64 intel call far dword ptr [rax]
-66ff18|11223344556677885f5f5f5f5f 64 plan9 LCALL 0(AX)
-66ff20|11223344556677885f5f5f5f5f 32 intel jmp word ptr [eax]
-66ff20|11223344556677885f5f5f5f5f 32 plan9 JMP 0(AX)
-66ff20|11223344556677885f5f5f5f5f 64 gnu jmpw *(%rax)
-66ff20|11223344556677885f5f5f5f5f 64 intel jmp qword ptr [rax]
-66ff20|11223344556677885f5f5f5f5f 64 plan9 JMP 0(AX)
-66ff28|11223344556677885f5f5f5f5f 32 intel jmp far dword ptr [eax]
-66ff28|11223344556677885f5f5f5f5f 32 plan9 LJMP 0(AX)
-66ff28|11223344556677885f5f5f5f5f 64 gnu ljmpw *(%rax)
-66ff28|11223344556677885f5f5f5f5f 64 intel jmp far dword ptr [rax]
-66ff28|11223344556677885f5f5f5f5f 64 plan9 LJMP 0(AX)
-66ff30|11223344556677885f5f5f5f5f 32 intel push word ptr [eax]
-66ff30|11223344556677885f5f5f5f5f 32 plan9 PUSHW 0(AX)
-66ff30|11223344556677885f5f5f5f5f 64 gnu pushw (%rax)
-66ff30|11223344556677885f5f5f5f5f 64 intel push word ptr [rax]
-66ff30|11223344556677885f5f5f5f5f 64 plan9 PUSHW 0(AX)
-66|9a11223344556677885f5f5f5f5f5f 64 gnu data16
-66|9a11223344556677885f5f5f5f5f5f 64 intel data16
-66|9a11223344556677885f5f5f5f5f5f 64 plan9 Op(0)
-66|c411223344556677885f5f5f5f5f5f 64 gnu data16
-66|c411223344556677885f5f5f5f5f5f 64 intel data16
-66|c411223344556677885f5f5f5f5f5f 64 plan9 Op(0)
-66|c511223344556677885f5f5f5f5f5f 64 gnu data16
-66|c511223344556677885f5f5f5f5f5f 64 intel data16
-66|c511223344556677885f5f5f5f5f5f 64 plan9 Op(0)
-66|d411223344556677885f5f5f5f5f5f 64 gnu data16
-66|d411223344556677885f5f5f5f5f5f 64 intel data16
-66|d411223344556677885f5f5f5f5f5f 64 plan9 Op(0)
-66|ea11223344556677885f5f5f5f5f5f 64 gnu data16
-66|ea11223344556677885f5f5f5f5f5f 64 intel data16
-66|ea11223344556677885f5f5f5f5f5f 64 plan9 Op(0)
-676c|11223344556677885f5f5f5f5f5f 32 intel addr16 insb
-676c|11223344556677885f5f5f5f5f5f 32 plan9 INSB DX, ES:0(DI)
-676c|11223344556677885f5f5f5f5f5f 64 gnu insb (%dx),%es:(%edi)
-676c|11223344556677885f5f5f5f5f5f 64 intel addr32 insb
-676c|11223344556677885f5f5f5f5f5f 64 plan9 INSB DX, ES:0(DI)
-67d7|11223344556677885f5f5f5f5f5f 32 intel addr16 xlat
-67d7|11223344556677885f5f5f5f5f5f 32 plan9 XLATB DS:0(BX)
-67d7|11223344556677885f5f5f5f5f5f 64 gnu xlat %ds:(%ebx)
-67d7|11223344556677885f5f5f5f5f5f 64 intel addr32 xlat
-67d7|11223344556677885f5f5f5f5f5f 64 plan9 XLATB DS:0(BX)
-67e311|223344556677885f5f5f5f5f5f 32 intel addr16 jcxz .+0x11
-67e311|223344556677885f5f5f5f5f5f 32 plan9 JCXZ .+17
-67e311|223344556677885f5f5f5f5f5f 64 gnu jecxz .+0x11
-67e311|223344556677885f5f5f5f5f5f 64 intel addr32 jecxz .+0x11
-67e311|223344556677885f5f5f5f5f5f 64 plan9 JECXZ .+17
-6811223344|556677885f5f5f5f5f5f5f 32 intel push 0x44332211
-6811223344|556677885f5f5f5f5f5f5f 32 plan9 PUSHL $0x44332211
-6811223344|556677885f5f5f5f5f5f5f 64 gnu pushq $0x44332211
-6811223344|556677885f5f5f5f5f5f5f 64 intel push 0x44332211
-6811223344|556677885f5f5f5f5f5f5f 64 plan9 PUSHL $0x44332211
-691122334455|6677885f5f5f5f5f5f5f 32 intel imul edx, dword ptr [ecx], 0x55443322
-691122334455|6677885f5f5f5f5f5f5f 32 plan9 IMULL $0x55443322, 0(CX), DX
-691122334455|6677885f5f5f5f5f5f5f 64 gnu imul $0x55443322,(%rcx),%edx
-691122334455|6677885f5f5f5f5f5f5f 64 intel imul edx, dword ptr [rcx], 0x55443322
-691122334455|6677885f5f5f5f5f5f5f 64 plan9 IMULL $0x55443322, 0(CX), DX
-6a11|223344556677885f5f5f5f5f5f5f 32 intel push 0x11
-6a11|223344556677885f5f5f5f5f5f5f 32 plan9 PUSHL $0x11
-6a11|223344556677885f5f5f5f5f5f5f 64 gnu pushq $0x11
-6a11|223344556677885f5f5f5f5f5f5f 64 intel push 0x11
-6a11|223344556677885f5f5f5f5f5f5f 64 plan9 PUSHL $0x11
-6b1122|3344556677885f5f5f5f5f5f5f 32 intel imul edx, dword ptr [ecx], 0x22
-6b1122|3344556677885f5f5f5f5f5f5f 32 plan9 IMULL $0x22, 0(CX), DX
-6b1122|3344556677885f5f5f5f5f5f5f 64 gnu imul $0x22,(%rcx),%edx
-6b1122|3344556677885f5f5f5f5f5f5f 64 intel imul edx, dword ptr [rcx], 0x22
-6b1122|3344556677885f5f5f5f5f5f5f 64 plan9 IMULL $0x22, 0(CX), DX
-6d|11223344556677885f5f5f5f5f5f5f 32 intel insd
-6d|11223344556677885f5f5f5f5f5f5f 32 plan9 INSD DX, ES:0(DI)
-6d|11223344556677885f5f5f5f5f5f5f 64 gnu insl (%dx),%es:(%rdi)
-6d|11223344556677885f5f5f5f5f5f5f 64 intel insd
-6d|11223344556677885f5f5f5f5f5f5f 64 plan9 INSD DX, ES:0(DI)
-6f|11223344556677885f5f5f5f5f5f5f 32 intel outsd
-6f|11223344556677885f5f5f5f5f5f5f 32 plan9 OUTSD DS:0(SI), DX
-6f|11223344556677885f5f5f5f5f5f5f 64 gnu outsl %ds:(%rsi),(%dx)
-6f|11223344556677885f5f5f5f5f5f5f 64 intel outsd
-6f|11223344556677885f5f5f5f5f5f5f 64 plan9 OUTSD DS:0(SI), DX
-7111|223344556677885f5f5f5f5f5f5f 32 intel jno .+0x11
-7111|223344556677885f5f5f5f5f5f5f 32 plan9 JNO .+17
-7111|223344556677885f5f5f5f5f5f5f 64 gnu jno .+0x11
-7111|223344556677885f5f5f5f5f5f5f 64 intel jno .+0x11
-7111|223344556677885f5f5f5f5f5f5f 64 plan9 JNO .+17
-7211|223344556677885f5f5f5f5f5f5f 32 intel jb .+0x11
-7211|223344556677885f5f5f5f5f5f5f 32 plan9 JB .+17
-7211|223344556677885f5f5f5f5f5f5f 64 gnu jb .+0x11
-7211|223344556677885f5f5f5f5f5f5f 64 intel jb .+0x11
-7211|223344556677885f5f5f5f5f5f5f 64 plan9 JB .+17
-7311|223344556677885f5f5f5f5f5f5f 32 intel jnb .+0x11
-7311|223344556677885f5f5f5f5f5f5f 32 plan9 JAE .+17
-7311|223344556677885f5f5f5f5f5f5f 64 gnu jae .+0x11
-7311|223344556677885f5f5f5f5f5f5f 64 intel jnb .+0x11
-7311|223344556677885f5f5f5f5f5f5f 64 plan9 JAE .+17
-7411|223344556677885f5f5f5f5f5f5f 32 intel jz .+0x11
-7411|223344556677885f5f5f5f5f5f5f 32 plan9 JE .+17
-7411|223344556677885f5f5f5f5f5f5f 64 gnu je .+0x11
-7411|223344556677885f5f5f5f5f5f5f 64 intel jz .+0x11
-7411|223344556677885f5f5f5f5f5f5f 64 plan9 JE .+17
-7511|223344556677885f5f5f5f5f5f5f 32 intel jnz .+0x11
-7511|223344556677885f5f5f5f5f5f5f 32 plan9 JNE .+17
-7511|223344556677885f5f5f5f5f5f5f 64 gnu jne .+0x11
-7511|223344556677885f5f5f5f5f5f5f 64 intel jnz .+0x11
-7511|223344556677885f5f5f5f5f5f5f 64 plan9 JNE .+17
-7611|223344556677885f5f5f5f5f5f5f 32 intel jbe .+0x11
-7611|223344556677885f5f5f5f5f5f5f 32 plan9 JBE .+17
-7611|223344556677885f5f5f5f5f5f5f 64 gnu jbe .+0x11
-7611|223344556677885f5f5f5f5f5f5f 64 intel jbe .+0x11
-7611|223344556677885f5f5f5f5f5f5f 64 plan9 JBE .+17
-7711|223344556677885f5f5f5f5f5f5f 32 intel jnbe .+0x11
-7711|223344556677885f5f5f5f5f5f5f 32 plan9 JA .+17
-7711|223344556677885f5f5f5f5f5f5f 64 gnu ja .+0x11
-7711|223344556677885f5f5f5f5f5f5f 64 intel jnbe .+0x11
-7711|223344556677885f5f5f5f5f5f5f 64 plan9 JA .+17
-7811|223344556677885f5f5f5f5f5f5f 32 intel js .+0x11
-7811|223344556677885f5f5f5f5f5f5f 32 plan9 JS .+17
-7811|223344556677885f5f5f5f5f5f5f 64 gnu js .+0x11
-7811|223344556677885f5f5f5f5f5f5f 64 intel js .+0x11
-7811|223344556677885f5f5f5f5f5f5f 64 plan9 JS .+17
-7911|223344556677885f5f5f5f5f5f5f 32 intel jns .+0x11
-7911|223344556677885f5f5f5f5f5f5f 32 plan9 JNS .+17
-7911|223344556677885f5f5f5f5f5f5f 64 gnu jns .+0x11
-7911|223344556677885f5f5f5f5f5f5f 64 intel jns .+0x11
-7911|223344556677885f5f5f5f5f5f5f 64 plan9 JNS .+17
-7a11|223344556677885f5f5f5f5f5f5f 32 intel jp .+0x11
-7a11|223344556677885f5f5f5f5f5f5f 32 plan9 JP .+17
-7a11|223344556677885f5f5f5f5f5f5f 64 gnu jp .+0x11
-7a11|223344556677885f5f5f5f5f5f5f 64 intel jp .+0x11
-7a11|223344556677885f5f5f5f5f5f5f 64 plan9 JP .+17
-7b11|223344556677885f5f5f5f5f5f5f 32 intel jnp .+0x11
-7b11|223344556677885f5f5f5f5f5f5f 32 plan9 JNP .+17
-7b11|223344556677885f5f5f5f5f5f5f 64 gnu jnp .+0x11
-7b11|223344556677885f5f5f5f5f5f5f 64 intel jnp .+0x11
-7b11|223344556677885f5f5f5f5f5f5f 64 plan9 JNP .+17
-7c11|223344556677885f5f5f5f5f5f5f 32 intel jl .+0x11
-7c11|223344556677885f5f5f5f5f5f5f 32 plan9 JL .+17
-7c11|223344556677885f5f5f5f5f5f5f 64 gnu jl .+0x11
-7c11|223344556677885f5f5f5f5f5f5f 64 intel jl .+0x11
-7c11|223344556677885f5f5f5f5f5f5f 64 plan9 JL .+17
-7d11|223344556677885f5f5f5f5f5f5f 32 intel jnl .+0x11
-7d11|223344556677885f5f5f5f5f5f5f 32 plan9 JGE .+17
-7d11|223344556677885f5f5f5f5f5f5f 64 gnu jge .+0x11
-7d11|223344556677885f5f5f5f5f5f5f 64 intel jnl .+0x11
-7d11|223344556677885f5f5f5f5f5f5f 64 plan9 JGE .+17
-7e11|223344556677885f5f5f5f5f5f5f 32 intel jle .+0x11
-7e11|223344556677885f5f5f5f5f5f5f 32 plan9 JLE .+17
-7e11|223344556677885f5f5f5f5f5f5f 64 gnu jle .+0x11
-7e11|223344556677885f5f5f5f5f5f5f 64 intel jle .+0x11
-7e11|223344556677885f5f5f5f5f5f5f 64 plan9 JLE .+17
-7f11|223344556677885f5f5f5f5f5f5f 32 intel jnle .+0x11
-7f11|223344556677885f5f5f5f5f5f5f 32 plan9 JG .+17
-7f11|223344556677885f5f5f5f5f5f5f 64 gnu jg .+0x11
-7f11|223344556677885f5f5f5f5f5f5f 64 intel jnle .+0x11
-7f11|223344556677885f5f5f5f5f5f5f 64 plan9 JG .+17
-800011|223344556677885f5f5f5f5f5f 32 intel add byte ptr [eax], 0x11
-800011|223344556677885f5f5f5f5f5f 32 plan9 ADDB $0x11, 0(AX)
-800011|223344556677885f5f5f5f5f5f 64 gnu addb $0x11,(%rax)
-800011|223344556677885f5f5f5f5f5f 64 intel add byte ptr [rax], 0x11
-800011|223344556677885f5f5f5f5f5f 64 plan9 ADDB $0x11, 0(AX)
-800811|223344556677885f5f5f5f5f5f 32 intel or byte ptr [eax], 0x11
-800811|223344556677885f5f5f5f5f5f 32 plan9 ORB $0x11, 0(AX)
-800811|223344556677885f5f5f5f5f5f 64 gnu orb $0x11,(%rax)
-800811|223344556677885f5f5f5f5f5f 64 intel or byte ptr [rax], 0x11
-800811|223344556677885f5f5f5f5f5f 64 plan9 ORB $0x11, 0(AX)
-801122|3344556677885f5f5f5f5f5f5f 32 intel adc byte ptr [ecx], 0x22
-801122|3344556677885f5f5f5f5f5f5f 32 plan9 ADCB $0x22, 0(CX)
-801122|3344556677885f5f5f5f5f5f5f 64 gnu adcb $0x22,(%rcx)
-801122|3344556677885f5f5f5f5f5f5f 64 intel adc byte ptr [rcx], 0x22
-801122|3344556677885f5f5f5f5f5f5f 64 plan9 ADCB $0x22, 0(CX)
-801811|223344556677885f5f5f5f5f5f 32 intel sbb byte ptr [eax], 0x11
-801811|223344556677885f5f5f5f5f5f 32 plan9 SBBB $0x11, 0(AX)
-801811|223344556677885f5f5f5f5f5f 64 gnu sbbb $0x11,(%rax)
-801811|223344556677885f5f5f5f5f5f 64 intel sbb byte ptr [rax], 0x11
-801811|223344556677885f5f5f5f5f5f 64 plan9 SBBB $0x11, 0(AX)
-802011|223344556677885f5f5f5f5f5f 32 intel and byte ptr [eax], 0x11
-802011|223344556677885f5f5f5f5f5f 32 plan9 ANDB $0x11, 0(AX)
-802011|223344556677885f5f5f5f5f5f 64 gnu andb $0x11,(%rax)
-802011|223344556677885f5f5f5f5f5f 64 intel and byte ptr [rax], 0x11
-802011|223344556677885f5f5f5f5f5f 64 plan9 ANDB $0x11, 0(AX)
-802811|223344556677885f5f5f5f5f5f 32 intel sub byte ptr [eax], 0x11
-802811|223344556677885f5f5f5f5f5f 32 plan9 SUBB $0x11, 0(AX)
-802811|223344556677885f5f5f5f5f5f 64 gnu subb $0x11,(%rax)
-802811|223344556677885f5f5f5f5f5f 64 intel sub byte ptr [rax], 0x11
-802811|223344556677885f5f5f5f5f5f 64 plan9 SUBB $0x11, 0(AX)
-803011|223344556677885f5f5f5f5f5f 32 intel xor byte ptr [eax], 0x11
-803011|223344556677885f5f5f5f5f5f 32 plan9 XORB $0x11, 0(AX)
-803011|223344556677885f5f5f5f5f5f 64 gnu xorb $0x11,(%rax)
-803011|223344556677885f5f5f5f5f5f 64 intel xor byte ptr [rax], 0x11
-803011|223344556677885f5f5f5f5f5f 64 plan9 XORB $0x11, 0(AX)
-803811|223344556677885f5f5f5f5f5f 32 intel cmp byte ptr [eax], 0x11
-803811|223344556677885f5f5f5f5f5f 32 plan9 CMPB $0x11, 0(AX)
-803811|223344556677885f5f5f5f5f5f 64 gnu cmpb $0x11,(%rax)
-803811|223344556677885f5f5f5f5f5f 64 intel cmp byte ptr [rax], 0x11
-803811|223344556677885f5f5f5f5f5f 64 plan9 CMPB $0x11, 0(AX)
-810011223344|556677885f5f5f5f5f5f 32 intel add dword ptr [eax], 0x44332211
-810011223344|556677885f5f5f5f5f5f 32 plan9 ADDL $0x44332211, 0(AX)
-810011223344|556677885f5f5f5f5f5f 64 gnu addl $0x44332211,(%rax)
-810011223344|556677885f5f5f5f5f5f 64 intel add dword ptr [rax], 0x44332211
-810011223344|556677885f5f5f5f5f5f 64 plan9 ADDL $0x44332211, 0(AX)
-810811223344|556677885f5f5f5f5f5f 32 intel or dword ptr [eax], 0x44332211
-810811223344|556677885f5f5f5f5f5f 32 plan9 ORL $0x44332211, 0(AX)
-810811223344|556677885f5f5f5f5f5f 64 gnu orl $0x44332211,(%rax)
-810811223344|556677885f5f5f5f5f5f 64 intel or dword ptr [rax], 0x44332211
-810811223344|556677885f5f5f5f5f5f 64 plan9 ORL $0x44332211, 0(AX)
-811122334455|6677885f5f5f5f5f5f5f 32 intel adc dword ptr [ecx], 0x55443322
-811122334455|6677885f5f5f5f5f5f5f 32 plan9 ADCL $0x55443322, 0(CX)
-811122334455|6677885f5f5f5f5f5f5f 64 gnu adcl $0x55443322,(%rcx)
-811122334455|6677885f5f5f5f5f5f5f 64 intel adc dword ptr [rcx], 0x55443322
-811122334455|6677885f5f5f5f5f5f5f 64 plan9 ADCL $0x55443322, 0(CX)
-811811223344|556677885f5f5f5f5f5f 32 intel sbb dword ptr [eax], 0x44332211
-811811223344|556677885f5f5f5f5f5f 32 plan9 SBBL $0x44332211, 0(AX)
-811811223344|556677885f5f5f5f5f5f 64 gnu sbbl $0x44332211,(%rax)
-811811223344|556677885f5f5f5f5f5f 64 intel sbb dword ptr [rax], 0x44332211
-811811223344|556677885f5f5f5f5f5f 64 plan9 SBBL $0x44332211, 0(AX)
-812011223344|556677885f5f5f5f5f5f 32 intel and dword ptr [eax], 0x44332211
-812011223344|556677885f5f5f5f5f5f 32 plan9 ANDL $0x44332211, 0(AX)
-812011223344|556677885f5f5f5f5f5f 64 gnu andl $0x44332211,(%rax)
-812011223344|556677885f5f5f5f5f5f 64 intel and dword ptr [rax], 0x44332211
-812011223344|556677885f5f5f5f5f5f 64 plan9 ANDL $0x44332211, 0(AX)
-812811223344|556677885f5f5f5f5f5f 32 intel sub dword ptr [eax], 0x44332211
-812811223344|556677885f5f5f5f5f5f 32 plan9 SUBL $0x44332211, 0(AX)
-812811223344|556677885f5f5f5f5f5f 64 gnu subl $0x44332211,(%rax)
-812811223344|556677885f5f5f5f5f5f 64 intel sub dword ptr [rax], 0x44332211
-812811223344|556677885f5f5f5f5f5f 64 plan9 SUBL $0x44332211, 0(AX)
-813011223344|556677885f5f5f5f5f5f 32 intel xor dword ptr [eax], 0x44332211
-813011223344|556677885f5f5f5f5f5f 32 plan9 XORL $0x44332211, 0(AX)
-813011223344|556677885f5f5f5f5f5f 64 gnu xorl $0x44332211,(%rax)
-813011223344|556677885f5f5f5f5f5f 64 intel xor dword ptr [rax], 0x44332211
-813011223344|556677885f5f5f5f5f5f 64 plan9 XORL $0x44332211, 0(AX)
-813811223344|556677885f5f5f5f5f5f 32 intel cmp dword ptr [eax], 0x44332211
-813811223344|556677885f5f5f5f5f5f 32 plan9 CMPL $0x44332211, 0(AX)
-813811223344|556677885f5f5f5f5f5f 64 gnu cmpl $0x44332211,(%rax)
-813811223344|556677885f5f5f5f5f5f 64 intel cmp dword ptr [rax], 0x44332211
-813811223344|556677885f5f5f5f5f5f 64 plan9 CMPL $0x44332211, 0(AX)
-830011|223344556677885f5f5f5f5f5f 32 intel add dword ptr [eax], 0x11
-830011|223344556677885f5f5f5f5f5f 32 plan9 ADDL $0x11, 0(AX)
-830011|223344556677885f5f5f5f5f5f 64 gnu addl $0x11,(%rax)
-830011|223344556677885f5f5f5f5f5f 64 intel add dword ptr [rax], 0x11
-830011|223344556677885f5f5f5f5f5f 64 plan9 ADDL $0x11, 0(AX)
-830811|223344556677885f5f5f5f5f5f 32 intel or dword ptr [eax], 0x11
-830811|223344556677885f5f5f5f5f5f 32 plan9 ORL $0x11, 0(AX)
-830811|223344556677885f5f5f5f5f5f 64 gnu orl $0x11,(%rax)
-830811|223344556677885f5f5f5f5f5f 64 intel or dword ptr [rax], 0x11
-830811|223344556677885f5f5f5f5f5f 64 plan9 ORL $0x11, 0(AX)
-831122|3344556677885f5f5f5f5f5f5f 32 intel adc dword ptr [ecx], 0x22
-831122|3344556677885f5f5f5f5f5f5f 32 plan9 ADCL $0x22, 0(CX)
-831122|3344556677885f5f5f5f5f5f5f 64 gnu adcl $0x22,(%rcx)
-831122|3344556677885f5f5f5f5f5f5f 64 intel adc dword ptr [rcx], 0x22
-831122|3344556677885f5f5f5f5f5f5f 64 plan9 ADCL $0x22, 0(CX)
-831811|223344556677885f5f5f5f5f5f 32 intel sbb dword ptr [eax], 0x11
-831811|223344556677885f5f5f5f5f5f 32 plan9 SBBL $0x11, 0(AX)
-831811|223344556677885f5f5f5f5f5f 64 gnu sbbl $0x11,(%rax)
-831811|223344556677885f5f5f5f5f5f 64 intel sbb dword ptr [rax], 0x11
-831811|223344556677885f5f5f5f5f5f 64 plan9 SBBL $0x11, 0(AX)
-832011|223344556677885f5f5f5f5f5f 32 intel and dword ptr [eax], 0x11
-832011|223344556677885f5f5f5f5f5f 32 plan9 ANDL $0x11, 0(AX)
-832011|223344556677885f5f5f5f5f5f 64 gnu andl $0x11,(%rax)
-832011|223344556677885f5f5f5f5f5f 64 intel and dword ptr [rax], 0x11
-832011|223344556677885f5f5f5f5f5f 64 plan9 ANDL $0x11, 0(AX)
-832811|223344556677885f5f5f5f5f5f 32 intel sub dword ptr [eax], 0x11
-832811|223344556677885f5f5f5f5f5f 32 plan9 SUBL $0x11, 0(AX)
-832811|223344556677885f5f5f5f5f5f 64 gnu subl $0x11,(%rax)
-832811|223344556677885f5f5f5f5f5f 64 intel sub dword ptr [rax], 0x11
-832811|223344556677885f5f5f5f5f5f 64 plan9 SUBL $0x11, 0(AX)
-833011|223344556677885f5f5f5f5f5f 32 intel xor dword ptr [eax], 0x11
-833011|223344556677885f5f5f5f5f5f 32 plan9 XORL $0x11, 0(AX)
-833011|223344556677885f5f5f5f5f5f 64 gnu xorl $0x11,(%rax)
-833011|223344556677885f5f5f5f5f5f 64 intel xor dword ptr [rax], 0x11
-833011|223344556677885f5f5f5f5f5f 64 plan9 XORL $0x11, 0(AX)
-833811|223344556677885f5f5f5f5f5f 32 intel cmp dword ptr [eax], 0x11
-833811|223344556677885f5f5f5f5f5f 32 plan9 CMPL $0x11, 0(AX)
-833811|223344556677885f5f5f5f5f5f 64 gnu cmpl $0x11,(%rax)
-833811|223344556677885f5f5f5f5f5f 64 intel cmp dword ptr [rax], 0x11
-833811|223344556677885f5f5f5f5f5f 64 plan9 CMPL $0x11, 0(AX)
-8411|223344556677885f5f5f5f5f5f5f 32 intel test byte ptr [ecx], dl
-8411|223344556677885f5f5f5f5f5f5f 32 plan9 TESTB DL, 0(CX)
-8411|223344556677885f5f5f5f5f5f5f 64 gnu test %dl,(%rcx)
-8411|223344556677885f5f5f5f5f5f5f 64 intel test byte ptr [rcx], dl
-8411|223344556677885f5f5f5f5f5f5f 64 plan9 TESTB DL, 0(CX)
-8511|223344556677885f5f5f5f5f5f5f 32 intel test dword ptr [ecx], edx
-8511|223344556677885f5f5f5f5f5f5f 32 plan9 TESTL DX, 0(CX)
-8511|223344556677885f5f5f5f5f5f5f 64 gnu test %edx,(%rcx)
-8511|223344556677885f5f5f5f5f5f5f 64 intel test dword ptr [rcx], edx
-8511|223344556677885f5f5f5f5f5f5f 64 plan9 TESTL DX, 0(CX)
-8611|223344556677885f5f5f5f5f5f5f 32 intel xchg byte ptr [ecx], dl
-8611|223344556677885f5f5f5f5f5f5f 32 plan9 XCHGB DL, 0(CX)
-8611|223344556677885f5f5f5f5f5f5f 64 gnu xchg %dl,(%rcx)
-8611|223344556677885f5f5f5f5f5f5f 64 intel xchg byte ptr [rcx], dl
-8611|223344556677885f5f5f5f5f5f5f 64 plan9 XCHGB DL, 0(CX)
-8711|223344556677885f5f5f5f5f5f5f 32 intel xchg dword ptr [ecx], edx
-8711|223344556677885f5f5f5f5f5f5f 32 plan9 XCHGL DX, 0(CX)
-8711|223344556677885f5f5f5f5f5f5f 64 gnu xchg %edx,(%rcx)
-8711|223344556677885f5f5f5f5f5f5f 64 intel xchg dword ptr [rcx], edx
-8711|223344556677885f5f5f5f5f5f5f 64 plan9 XCHGL DX, 0(CX)
-8811|223344556677885f5f5f5f5f5f5f 32 intel mov byte ptr [ecx], dl
-8811|223344556677885f5f5f5f5f5f5f 32 plan9 MOVB DL, 0(CX)
-8811|223344556677885f5f5f5f5f5f5f 64 gnu mov %dl,(%rcx)
-8811|223344556677885f5f5f5f5f5f5f 64 intel mov byte ptr [rcx], dl
-8811|223344556677885f5f5f5f5f5f5f 64 plan9 MOVB DL, 0(CX)
-8911|223344556677885f5f5f5f5f5f5f 32 intel mov dword ptr [ecx], edx
-8911|223344556677885f5f5f5f5f5f5f 32 plan9 MOVL DX, 0(CX)
-8911|223344556677885f5f5f5f5f5f5f 64 gnu mov %edx,(%rcx)
-8911|223344556677885f5f5f5f5f5f5f 64 intel mov dword ptr [rcx], edx
-8911|223344556677885f5f5f5f5f5f5f 64 plan9 MOVL DX, 0(CX)
-8a11|223344556677885f5f5f5f5f5f5f 32 intel mov dl, byte ptr [ecx]
-8a11|223344556677885f5f5f5f5f5f5f 32 plan9 MOVB 0(CX), DL
-8a11|223344556677885f5f5f5f5f5f5f 64 gnu mov (%rcx),%dl
-8a11|223344556677885f5f5f5f5f5f5f 64 intel mov dl, byte ptr [rcx]
-8a11|223344556677885f5f5f5f5f5f5f 64 plan9 MOVB 0(CX), DL
-8b11|223344556677885f5f5f5f5f5f5f 32 intel mov edx, dword ptr [ecx]
-8b11|223344556677885f5f5f5f5f5f5f 32 plan9 MOVL 0(CX), DX
-8b11|223344556677885f5f5f5f5f5f5f 64 gnu mov (%rcx),%edx
-8b11|223344556677885f5f5f5f5f5f5f 64 intel mov edx, dword ptr [rcx]
-8b11|223344556677885f5f5f5f5f5f5f 64 plan9 MOVL 0(CX), DX
-8c11|223344556677885f5f5f5f5f5f5f 32 intel mov word ptr [ecx], ss
-8c11|223344556677885f5f5f5f5f5f5f 32 plan9 MOVW SS, 0(CX)
-8c11|223344556677885f5f5f5f5f5f5f 64 gnu mov %ss,(%rcx)
-8c11|223344556677885f5f5f5f5f5f5f 64 intel mov word ptr [rcx], ss
-8c11|223344556677885f5f5f5f5f5f5f 64 plan9 MOVW SS, 0(CX)
-8d11|223344556677885f5f5f5f5f5f5f 32 intel lea edx, ptr [ecx]
-8d11|223344556677885f5f5f5f5f5f5f 32 plan9 LEAL 0(CX), DX
-8d11|223344556677885f5f5f5f5f5f5f 64 gnu lea (%rcx),%edx
-8d11|223344556677885f5f5f5f5f5f5f 64 intel lea edx, ptr [rcx]
-8d11|223344556677885f5f5f5f5f5f5f 64 plan9 LEAL 0(CX), DX
-8e11|223344556677885f5f5f5f5f5f5f 32 intel mov ss, word ptr [ecx]
-8e11|223344556677885f5f5f5f5f5f5f 32 plan9 MOVW 0(CX), SS
-8e11|223344556677885f5f5f5f5f5f5f 64 gnu mov (%rcx),%ss
-8e11|223344556677885f5f5f5f5f5f5f 64 intel mov ss, word ptr [rcx]
-8e11|223344556677885f5f5f5f5f5f5f 64 plan9 MOVW 0(CX), SS
-8f00|11223344556677885f5f5f5f5f5f 32 intel pop dword ptr [eax]
-8f00|11223344556677885f5f5f5f5f5f 32 plan9 POPL 0(AX)
-8f00|11223344556677885f5f5f5f5f5f 64 gnu popq (%rax)
-8f00|11223344556677885f5f5f5f5f5f 64 intel pop qword ptr [rax]
-8f00|11223344556677885f5f5f5f5f5f 64 plan9 POPQ 0(AX)
-91|11223344556677885f5f5f5f5f5f5f 32 intel xchg ecx, eax
-91|11223344556677885f5f5f5f5f5f5f 32 plan9 XCHGL AX, CX
-91|11223344556677885f5f5f5f5f5f5f 64 intel xchg ecx, eax
-91|11223344556677885f5f5f5f5f5f5f 64 plan9 XCHGL AX, CX
-98|11223344556677885f5f5f5f5f5f5f 32 intel cwde
-98|11223344556677885f5f5f5f5f5f5f 32 plan9 CWDE
-98|11223344556677885f5f5f5f5f5f5f 64 gnu cwtl
-98|11223344556677885f5f5f5f5f5f5f 64 intel cwde
-98|11223344556677885f5f5f5f5f5f5f 64 plan9 CWDE
-99|11223344556677885f5f5f5f5f5f5f 32 intel cdq
-99|11223344556677885f5f5f5f5f5f5f 32 plan9 CDQ
-99|11223344556677885f5f5f5f5f5f5f 64 gnu cltd
-99|11223344556677885f5f5f5f5f5f5f 64 intel cdq
-99|11223344556677885f5f5f5f5f5f5f 64 plan9 CDQ
-9a112233445566|77885f5f5f5f5f5f5f 32 intel call far 0x44332211, 0x6655
-9a112233445566|77885f5f5f5f5f5f5f 32 plan9 LCALL $0x44332211, $0x6655
-9b|11223344556677885f5f5f5f5f5f5f 32 intel fwait
-9b|11223344556677885f5f5f5f5f5f5f 32 plan9 FWAIT
-9b|11223344556677885f5f5f5f5f5f5f 64 gnu fwait
-9b|11223344556677885f5f5f5f5f5f5f 64 intel fwait
-9b|11223344556677885f5f5f5f5f5f5f 64 plan9 FWAIT
-9c|11223344556677885f5f5f5f5f5f5f 32 intel pushfd
-9c|11223344556677885f5f5f5f5f5f5f 32 plan9 PUSHFD
-9c|11223344556677885f5f5f5f5f5f5f 64 gnu pushfq
-9c|11223344556677885f5f5f5f5f5f5f 64 intel pushfq
-9c|11223344556677885f5f5f5f5f5f5f 64 plan9 PUSHFQ
-9d|11223344556677885f5f5f5f5f5f5f 32 intel popfd
-9d|11223344556677885f5f5f5f5f5f5f 32 plan9 POPFD
-9d|11223344556677885f5f5f5f5f5f5f 64 gnu popfq
-9d|11223344556677885f5f5f5f5f5f5f 64 intel popfq
-9d|11223344556677885f5f5f5f5f5f5f 64 plan9 POPFQ
-9e|11223344556677885f5f5f5f5f5f5f 32 intel sahf
-9e|11223344556677885f5f5f5f5f5f5f 32 plan9 SAHF
-9e|11223344556677885f5f5f5f5f5f5f 64 gnu sahf
-9e|11223344556677885f5f5f5f5f5f5f 64 intel sahf
-9e|11223344556677885f5f5f5f5f5f5f 64 plan9 SAHF
-9f|11223344556677885f5f5f5f5f5f5f 32 intel lahf
-9f|11223344556677885f5f5f5f5f5f5f 32 plan9 LAHF
-9f|11223344556677885f5f5f5f5f5f5f 64 gnu lahf
-9f|11223344556677885f5f5f5f5f5f5f 64 intel lahf
-9f|11223344556677885f5f5f5f5f5f5f 64 plan9 LAHF
-a11122334455667788|5f5f5f5f5f5f5f 64 gnu mov -0x778899aabbccddef,%eax
-a11122334455667788|5f5f5f5f5f5f5f 64 intel mov eax, dword ptr [0x8877665544332211]
-a11122334455667788|5f5f5f5f5f5f5f 64 plan9 MOVL -0x778899aabbccddef, AX
-a111223344|556677885f5f5f5f5f5f5f 32 intel mov eax, dword ptr [0x44332211]
-a111223344|556677885f5f5f5f5f5f5f 32 plan9 MOVL 0x44332211, AX
-a21122334455667788|5f5f5f5f5f5f5f 64 gnu mov %al,-0x778899aabbccddef
-a21122334455667788|5f5f5f5f5f5f5f 64 intel mov byte ptr [0x8877665544332211], al
-a21122334455667788|5f5f5f5f5f5f5f 64 plan9 MOVB AL, -0x778899aabbccddef
-a211223344|556677885f5f5f5f5f5f5f 32 intel mov byte ptr [0x44332211], al
-a211223344|556677885f5f5f5f5f5f5f 32 plan9 MOVB AL, 0x44332211
-a31122334455667788|5f5f5f5f5f5f5f 64 gnu mov %eax,-0x778899aabbccddef
-a31122334455667788|5f5f5f5f5f5f5f 64 intel mov dword ptr [0x8877665544332211], eax
-a31122334455667788|5f5f5f5f5f5f5f 64 plan9 MOVL AX, -0x778899aabbccddef
-a311223344|556677885f5f5f5f5f5f5f 32 intel mov dword ptr [0x44332211], eax
-a311223344|556677885f5f5f5f5f5f5f 32 plan9 MOVL AX, 0x44332211
-a4|11223344556677885f5f5f5f5f5f5f 32 intel movsb byte ptr [edi], byte ptr [esi]
-a4|11223344556677885f5f5f5f5f5f5f 32 plan9 MOVSB DS:0(SI), ES:0(DI)
-a4|11223344556677885f5f5f5f5f5f5f 64 gnu movsb %ds:(%rsi),%es:(%rdi)
-a4|11223344556677885f5f5f5f5f5f5f 64 intel movsb byte ptr [rdi], byte ptr [rsi]
-a4|11223344556677885f5f5f5f5f5f5f 64 plan9 MOVSB DS:0(SI), ES:0(DI)
-a5|11223344556677885f5f5f5f5f5f5f 32 intel movsd dword ptr [edi], dword ptr [esi]
-a5|11223344556677885f5f5f5f5f5f5f 32 plan9 MOVSD DS:0(SI), ES:0(DI)
-a5|11223344556677885f5f5f5f5f5f5f 64 gnu movsl %ds:(%rsi),%es:(%rdi)
-a5|11223344556677885f5f5f5f5f5f5f 64 intel movsd dword ptr [rdi], dword ptr [rsi]
-a5|11223344556677885f5f5f5f5f5f5f 64 plan9 MOVSD DS:0(SI), ES:0(DI)
-a6|11223344556677885f5f5f5f5f5f5f 32 intel cmpsb byte ptr [esi], byte ptr [edi]
-a6|11223344556677885f5f5f5f5f5f5f 32 plan9 CMPSB ES:0(DI), DS:0(SI)
-a6|11223344556677885f5f5f5f5f5f5f 64 gnu cmpsb %es:(%rdi),%ds:(%rsi)
-a6|11223344556677885f5f5f5f5f5f5f 64 intel cmpsb byte ptr [rsi], byte ptr [rdi]
-a6|11223344556677885f5f5f5f5f5f5f 64 plan9 CMPSB ES:0(DI), DS:0(SI)
-a7|11223344556677885f5f5f5f5f5f5f 32 intel cmpsd dword ptr [esi], dword ptr [edi]
-a7|11223344556677885f5f5f5f5f5f5f 32 plan9 CMPSD ES:0(DI), DS:0(SI)
-a7|11223344556677885f5f5f5f5f5f5f 64 gnu cmpsl %es:(%rdi),%ds:(%rsi)
-a7|11223344556677885f5f5f5f5f5f5f 64 intel cmpsd dword ptr [rsi], dword ptr [rdi]
-a7|11223344556677885f5f5f5f5f5f5f 64 plan9 CMPSD ES:0(DI), DS:0(SI)
-a811|223344556677885f5f5f5f5f5f5f 32 intel test al, 0x11
-a811|223344556677885f5f5f5f5f5f5f 32 plan9 TESTL $0x11, AL
-a811|223344556677885f5f5f5f5f5f5f 64 gnu test $0x11,%al
-a811|223344556677885f5f5f5f5f5f5f 64 intel test al, 0x11
-a811|223344556677885f5f5f5f5f5f5f 64 plan9 TESTL $0x11, AL
-a911223344|556677885f5f5f5f5f5f5f 32 intel test eax, 0x44332211
-a911223344|556677885f5f5f5f5f5f5f 32 plan9 TESTL $0x44332211, AX
-a911223344|556677885f5f5f5f5f5f5f 64 gnu test $0x44332211,%eax
-a911223344|556677885f5f5f5f5f5f5f 64 intel test eax, 0x44332211
-a911223344|556677885f5f5f5f5f5f5f 64 plan9 TESTL $0x44332211, AX
-aa|11223344556677885f5f5f5f5f5f5f 32 intel stosb byte ptr [edi]
-aa|11223344556677885f5f5f5f5f5f5f 32 plan9 STOSB AL, ES:0(DI)
-aa|11223344556677885f5f5f5f5f5f5f 64 gnu stos %al,%es:(%rdi)
-aa|11223344556677885f5f5f5f5f5f5f 64 intel stosb byte ptr [rdi]
-aa|11223344556677885f5f5f5f5f5f5f 64 plan9 STOSB AL, ES:0(DI)
-ab|11223344556677885f5f5f5f5f5f5f 32 intel stosd dword ptr [edi]
-ab|11223344556677885f5f5f5f5f5f5f 32 plan9 STOSD AX, ES:0(DI)
-ab|11223344556677885f5f5f5f5f5f5f 64 gnu stos %eax,%es:(%rdi)
-ab|11223344556677885f5f5f5f5f5f5f 64 intel stosd dword ptr [rdi]
-ab|11223344556677885f5f5f5f5f5f5f 64 plan9 STOSD AX, ES:0(DI)
-ac|11223344556677885f5f5f5f5f5f5f 32 intel lodsb byte ptr [esi]
-ac|11223344556677885f5f5f5f5f5f5f 32 plan9 LODSB DS:0(SI), AL
-ac|11223344556677885f5f5f5f5f5f5f 64 gnu lods %ds:(%rsi),%al
-ac|11223344556677885f5f5f5f5f5f5f 64 intel lodsb byte ptr [rsi]
-ac|11223344556677885f5f5f5f5f5f5f 64 plan9 LODSB DS:0(SI), AL
-ad|11223344556677885f5f5f5f5f5f5f 32 intel lodsd dword ptr [esi]
-ad|11223344556677885f5f5f5f5f5f5f 32 plan9 LODSD DS:0(SI), AX
-ad|11223344556677885f5f5f5f5f5f5f 64 gnu lods %ds:(%rsi),%eax
-ad|11223344556677885f5f5f5f5f5f5f 64 intel lodsd dword ptr [rsi]
-ad|11223344556677885f5f5f5f5f5f5f 64 plan9 LODSD DS:0(SI), AX
-ae|11223344556677885f5f5f5f5f5f5f 32 intel scasb byte ptr [edi]
-ae|11223344556677885f5f5f5f5f5f5f 32 plan9 SCASB ES:0(DI), AL
-ae|11223344556677885f5f5f5f5f5f5f 64 gnu scas %es:(%rdi),%al
-ae|11223344556677885f5f5f5f5f5f5f 64 intel scasb byte ptr [rdi]
-ae|11223344556677885f5f5f5f5f5f5f 64 plan9 SCASB ES:0(DI), AL
-af|11223344556677885f5f5f5f5f5f5f 32 intel scasd dword ptr [edi]
-af|11223344556677885f5f5f5f5f5f5f 32 plan9 SCASD ES:0(DI), AX
-af|11223344556677885f5f5f5f5f5f5f 64 gnu scas %es:(%rdi),%eax
-af|11223344556677885f5f5f5f5f5f5f 64 intel scasd dword ptr [rdi]
-af|11223344556677885f5f5f5f5f5f5f 64 plan9 SCASD ES:0(DI), AX
-b011|223344556677885f5f5f5f5f5f5f 32 intel mov al, 0x11
-b011|223344556677885f5f5f5f5f5f5f 32 plan9 MOVL $0x11, AL
-b011|223344556677885f5f5f5f5f5f5f 64 gnu mov $0x11,%al
-b011|223344556677885f5f5f5f5f5f5f 64 intel mov al, 0x11
-b011|223344556677885f5f5f5f5f5f5f 64 plan9 MOVL $0x11, AL
-b811223344|556677885f5f5f5f5f5f5f 32 intel mov eax, 0x44332211
-b811223344|556677885f5f5f5f5f5f5f 32 plan9 MOVL $0x44332211, AX
-b811223344|556677885f5f5f5f5f5f5f 64 gnu mov $0x44332211,%eax
-b811223344|556677885f5f5f5f5f5f5f 64 intel mov eax, 0x44332211
-b811223344|556677885f5f5f5f5f5f5f 64 plan9 MOVL $0x44332211, AX
-c00011|223344556677885f5f5f5f5f5f 32 intel rol byte ptr [eax], 0x11
-c00011|223344556677885f5f5f5f5f5f 32 plan9 ROLB $0x11, 0(AX)
-c00011|223344556677885f5f5f5f5f5f 64 gnu rolb $0x11,(%rax)
-c00011|223344556677885f5f5f5f5f5f 64 intel rol byte ptr [rax], 0x11
-c00011|223344556677885f5f5f5f5f5f 64 plan9 ROLB $0x11, 0(AX)
-c00811|223344556677885f5f5f5f5f5f 32 intel ror byte ptr [eax], 0x11
-c00811|223344556677885f5f5f5f5f5f 32 plan9 RORB $0x11, 0(AX)
-c00811|223344556677885f5f5f5f5f5f 64 gnu rorb $0x11,(%rax)
-c00811|223344556677885f5f5f5f5f5f 64 intel ror byte ptr [rax], 0x11
-c00811|223344556677885f5f5f5f5f5f 64 plan9 RORB $0x11, 0(AX)
-c01122|3344556677885f5f5f5f5f5f5f 32 intel rcl byte ptr [ecx], 0x22
-c01122|3344556677885f5f5f5f5f5f5f 32 plan9 RCLB $0x22, 0(CX)
-c01122|3344556677885f5f5f5f5f5f5f 64 gnu rclb $0x22,(%rcx)
-c01122|3344556677885f5f5f5f5f5f5f 64 intel rcl byte ptr [rcx], 0x22
-c01122|3344556677885f5f5f5f5f5f5f 64 plan9 RCLB $0x22, 0(CX)
-c01811|223344556677885f5f5f5f5f5f 32 intel rcr byte ptr [eax], 0x11
-c01811|223344556677885f5f5f5f5f5f 32 plan9 RCRB $0x11, 0(AX)
-c01811|223344556677885f5f5f5f5f5f 64 gnu rcrb $0x11,(%rax)
-c01811|223344556677885f5f5f5f5f5f 64 intel rcr byte ptr [rax], 0x11
-c01811|223344556677885f5f5f5f5f5f 64 plan9 RCRB $0x11, 0(AX)
-c02011|223344556677885f5f5f5f5f5f 32 intel shl byte ptr [eax], 0x11
-c02011|223344556677885f5f5f5f5f5f 32 plan9 SHLB $0x11, 0(AX)
-c02011|223344556677885f5f5f5f5f5f 64 gnu shlb $0x11,(%rax)
-c02011|223344556677885f5f5f5f5f5f 64 intel shl byte ptr [rax], 0x11
-c02011|223344556677885f5f5f5f5f5f 64 plan9 SHLB $0x11, 0(AX)
-c02811|223344556677885f5f5f5f5f5f 32 intel shr byte ptr [eax], 0x11
-c02811|223344556677885f5f5f5f5f5f 32 plan9 SHRB $0x11, 0(AX)
-c02811|223344556677885f5f5f5f5f5f 64 gnu shrb $0x11,(%rax)
-c02811|223344556677885f5f5f5f5f5f 64 intel shr byte ptr [rax], 0x11
-c02811|223344556677885f5f5f5f5f5f 64 plan9 SHRB $0x11, 0(AX)
-c03811|223344556677885f5f5f5f5f5f 32 intel sar byte ptr [eax], 0x11
-c03811|223344556677885f5f5f5f5f5f 32 plan9 SARB $0x11, 0(AX)
-c03811|223344556677885f5f5f5f5f5f 64 gnu sarb $0x11,(%rax)
-c03811|223344556677885f5f5f5f5f5f 64 intel sar byte ptr [rax], 0x11
-c03811|223344556677885f5f5f5f5f5f 64 plan9 SARB $0x11, 0(AX)
-c10011|223344556677885f5f5f5f5f5f 32 intel rol dword ptr [eax], 0x11
-c10011|223344556677885f5f5f5f5f5f 32 plan9 ROLL $0x11, 0(AX)
-c10011|223344556677885f5f5f5f5f5f 64 gnu roll $0x11,(%rax)
-c10011|223344556677885f5f5f5f5f5f 64 intel rol dword ptr [rax], 0x11
-c10011|223344556677885f5f5f5f5f5f 64 plan9 ROLL $0x11, 0(AX)
-c10811|223344556677885f5f5f5f5f5f 32 intel ror dword ptr [eax], 0x11
-c10811|223344556677885f5f5f5f5f5f 32 plan9 RORL $0x11, 0(AX)
-c10811|223344556677885f5f5f5f5f5f 64 gnu rorl $0x11,(%rax)
-c10811|223344556677885f5f5f5f5f5f 64 intel ror dword ptr [rax], 0x11
-c10811|223344556677885f5f5f5f5f5f 64 plan9 RORL $0x11, 0(AX)
-c11122|3344556677885f5f5f5f5f5f5f 32 intel rcl dword ptr [ecx], 0x22
-c11122|3344556677885f5f5f5f5f5f5f 32 plan9 RCLL $0x22, 0(CX)
-c11122|3344556677885f5f5f5f5f5f5f 64 gnu rcll $0x22,(%rcx)
-c11122|3344556677885f5f5f5f5f5f5f 64 intel rcl dword ptr [rcx], 0x22
-c11122|3344556677885f5f5f5f5f5f5f 64 plan9 RCLL $0x22, 0(CX)
-c11811|223344556677885f5f5f5f5f5f 32 intel rcr dword ptr [eax], 0x11
-c11811|223344556677885f5f5f5f5f5f 32 plan9 RCRL $0x11, 0(AX)
-c11811|223344556677885f5f5f5f5f5f 64 gnu rcrl $0x11,(%rax)
-c11811|223344556677885f5f5f5f5f5f 64 intel rcr dword ptr [rax], 0x11
-c11811|223344556677885f5f5f5f5f5f 64 plan9 RCRL $0x11, 0(AX)
-c12011|223344556677885f5f5f5f5f5f 32 intel shl dword ptr [eax], 0x11
-c12011|223344556677885f5f5f5f5f5f 32 plan9 SHLL $0x11, 0(AX)
-c12011|223344556677885f5f5f5f5f5f 64 gnu shll $0x11,(%rax)
-c12011|223344556677885f5f5f5f5f5f 64 intel shl dword ptr [rax], 0x11
-c12011|223344556677885f5f5f5f5f5f 64 plan9 SHLL $0x11, 0(AX)
-c12811|223344556677885f5f5f5f5f5f 32 intel shr dword ptr [eax], 0x11
-c12811|223344556677885f5f5f5f5f5f 32 plan9 SHRL $0x11, 0(AX)
-c12811|223344556677885f5f5f5f5f5f 64 gnu shrl $0x11,(%rax)
-c12811|223344556677885f5f5f5f5f5f 64 intel shr dword ptr [rax], 0x11
-c12811|223344556677885f5f5f5f5f5f 64 plan9 SHRL $0x11, 0(AX)
-c13811|223344556677885f5f5f5f5f5f 32 intel sar dword ptr [eax], 0x11
-c13811|223344556677885f5f5f5f5f5f 32 plan9 SARL $0x11, 0(AX)
-c13811|223344556677885f5f5f5f5f5f 64 gnu sarl $0x11,(%rax)
-c13811|223344556677885f5f5f5f5f5f 64 intel sar dword ptr [rax], 0x11
-c13811|223344556677885f5f5f5f5f5f 64 plan9 SARL $0x11, 0(AX)
-c3|11223344556677885f5f5f5f5f5f5f 32 intel ret
-c3|11223344556677885f5f5f5f5f5f5f 32 plan9 RET
-c3|11223344556677885f5f5f5f5f5f5f 64 gnu retq
-c3|11223344556677885f5f5f5f5f5f5f 64 intel ret
-c3|11223344556677885f5f5f5f5f5f5f 64 plan9 RET
-c411|223344556677885f5f5f5f5f5f5f 32 intel les edx, ptr [ecx]
-c411|223344556677885f5f5f5f5f5f5f 32 plan9 LES 0(CX), DX
-c511|223344556677885f5f5f5f5f5f5f 32 intel lds edx, ptr [ecx]
-c511|223344556677885f5f5f5f5f5f5f 32 plan9 LDS 0(CX), DX
-c60011|223344556677885f5f5f5f5f5f 32 intel mov byte ptr [eax], 0x11
-c60011|223344556677885f5f5f5f5f5f 32 plan9 MOVB $0x11, 0(AX)
-c60011|223344556677885f5f5f5f5f5f 64 gnu movb $0x11,(%rax)
-c60011|223344556677885f5f5f5f5f5f 64 intel mov byte ptr [rax], 0x11
-c60011|223344556677885f5f5f5f5f5f 64 plan9 MOVB $0x11, 0(AX)
-c6f811|223344556677885f5f5f5f5f5f 32 intel xabort 0x11
-c6f811|223344556677885f5f5f5f5f5f 32 plan9 XABORT $0x11
-c6f811|223344556677885f5f5f5f5f5f 64 gnu xabort $0x11
-c6f811|223344556677885f5f5f5f5f5f 64 intel xabort 0x11
-c6f811|223344556677885f5f5f5f5f5f 64 plan9 XABORT $0x11
-c70011223344|556677885f5f5f5f5f5f 32 intel mov dword ptr [eax], 0x44332211
-c70011223344|556677885f5f5f5f5f5f 32 plan9 MOVL $0x44332211, 0(AX)
-c70011223344|556677885f5f5f5f5f5f 64 gnu movl $0x44332211,(%rax)
-c70011223344|556677885f5f5f5f5f5f 64 intel mov dword ptr [rax], 0x44332211
-c70011223344|556677885f5f5f5f5f5f 64 plan9 MOVL $0x44332211, 0(AX)
-c7f811223344|556677885f5f5f5f5f5f 32 intel xbegin .+0x44332211
-c7f811223344|556677885f5f5f5f5f5f 32 plan9 XBEGIN .+1144201745
-c7f811223344|556677885f5f5f5f5f5f 64 gnu xbeginq .+0x44332211
-c7f811223344|556677885f5f5f5f5f5f 64 intel xbegin .+0x44332211
-c7f811223344|556677885f5f5f5f5f5f 64 plan9 XBEGIN .+1144201745
-c8112233|44556677885f5f5f5f5f5f5f 32 intel enter 0x2211, 0x33
-c8112233|44556677885f5f5f5f5f5f5f 32 plan9 ENTER $0x33, $0x2211
-c8112233|44556677885f5f5f5f5f5f5f 64 gnu enterq $0x2211,$0x33
-c8112233|44556677885f5f5f5f5f5f5f 64 intel enter 0x2211, 0x33
-c8112233|44556677885f5f5f5f5f5f5f 64 plan9 ENTER $0x33, $0x2211
-c9|11223344556677885f5f5f5f5f5f5f 32 intel leave
-c9|11223344556677885f5f5f5f5f5f5f 32 plan9 LEAVE
-c9|11223344556677885f5f5f5f5f5f5f 64 gnu leaveq
-c9|11223344556677885f5f5f5f5f5f5f 64 intel leave
-c9|11223344556677885f5f5f5f5f5f5f 64 plan9 LEAVE
-ca1122|3344556677885f5f5f5f5f5f5f 32 intel ret far 0x2211
-ca1122|3344556677885f5f5f5f5f5f5f 32 plan9 LRET $0x2211
-ca1122|3344556677885f5f5f5f5f5f5f 64 gnu lretq $0x2211
-ca1122|3344556677885f5f5f5f5f5f5f 64 intel ret far 0x2211
-ca1122|3344556677885f5f5f5f5f5f5f 64 plan9 LRET $0x2211
-cb|11223344556677885f5f5f5f5f5f5f 32 intel ret far
-cb|11223344556677885f5f5f5f5f5f5f 32 plan9 LRET
-cb|11223344556677885f5f5f5f5f5f5f 64 gnu lretq
-cb|11223344556677885f5f5f5f5f5f5f 64 intel ret far
-cb|11223344556677885f5f5f5f5f5f5f 64 plan9 LRET
-cc|11223344556677885f5f5f5f5f5f5f 32 intel int3
-cc|11223344556677885f5f5f5f5f5f5f 32 plan9 INT $0x3
-cc|11223344556677885f5f5f5f5f5f5f 64 gnu int3
-cc|11223344556677885f5f5f5f5f5f5f 64 intel int3
-cc|11223344556677885f5f5f5f5f5f5f 64 plan9 INT $0x3
-cd11|223344556677885f5f5f5f5f5f5f 32 intel int 0x11
-cd11|223344556677885f5f5f5f5f5f5f 32 plan9 INT $0x11
-cd11|223344556677885f5f5f5f5f5f5f 64 gnu int $0x11
-cd11|223344556677885f5f5f5f5f5f5f 64 intel int 0x11
-cd11|223344556677885f5f5f5f5f5f5f 64 plan9 INT $0x11
-ce|11223344556677885f5f5f5f5f5f5f 32 intel into
-ce|11223344556677885f5f5f5f5f5f5f 32 plan9 INTO
-ce|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-ce|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-ce|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-cf|11223344556677885f5f5f5f5f5f5f 32 intel iretd
-cf|11223344556677885f5f5f5f5f5f5f 32 plan9 IRETD
-cf|11223344556677885f5f5f5f5f5f5f 64 gnu iret
-cf|11223344556677885f5f5f5f5f5f5f 64 intel iretd
-cf|11223344556677885f5f5f5f5f5f5f 64 plan9 IRETD
-d000|11223344556677885f5f5f5f5f5f 32 intel rol byte ptr [eax], 0x1
-d000|11223344556677885f5f5f5f5f5f 32 plan9 ROLB $0x1, 0(AX)
-d000|11223344556677885f5f5f5f5f5f 64 gnu rolb (%rax)
-d000|11223344556677885f5f5f5f5f5f 64 intel rol byte ptr [rax], 0x1
-d000|11223344556677885f5f5f5f5f5f 64 plan9 ROLB $0x1, 0(AX)
-d008|11223344556677885f5f5f5f5f5f 32 intel ror byte ptr [eax], 0x1
-d008|11223344556677885f5f5f5f5f5f 32 plan9 RORB $0x1, 0(AX)
-d008|11223344556677885f5f5f5f5f5f 64 gnu rorb (%rax)
-d008|11223344556677885f5f5f5f5f5f 64 intel ror byte ptr [rax], 0x1
-d008|11223344556677885f5f5f5f5f5f 64 plan9 RORB $0x1, 0(AX)
-d011|223344556677885f5f5f5f5f5f5f 32 intel rcl byte ptr [ecx], 0x1
-d011|223344556677885f5f5f5f5f5f5f 32 plan9 RCLB $0x1, 0(CX)
-d011|223344556677885f5f5f5f5f5f5f 64 gnu rclb (%rcx)
-d011|223344556677885f5f5f5f5f5f5f 64 intel rcl byte ptr [rcx], 0x1
-d011|223344556677885f5f5f5f5f5f5f 64 plan9 RCLB $0x1, 0(CX)
-d018|11223344556677885f5f5f5f5f5f 32 intel rcr byte ptr [eax], 0x1
-d018|11223344556677885f5f5f5f5f5f 32 plan9 RCRB $0x1, 0(AX)
-d018|11223344556677885f5f5f5f5f5f 64 gnu rcrb (%rax)
-d018|11223344556677885f5f5f5f5f5f 64 intel rcr byte ptr [rax], 0x1
-d018|11223344556677885f5f5f5f5f5f 64 plan9 RCRB $0x1, 0(AX)
-d020|11223344556677885f5f5f5f5f5f 32 intel shl byte ptr [eax], 0x1
-d020|11223344556677885f5f5f5f5f5f 32 plan9 SHLB $0x1, 0(AX)
-d020|11223344556677885f5f5f5f5f5f 64 gnu shlb (%rax)
-d020|11223344556677885f5f5f5f5f5f 64 intel shl byte ptr [rax], 0x1
-d020|11223344556677885f5f5f5f5f5f 64 plan9 SHLB $0x1, 0(AX)
-d028|11223344556677885f5f5f5f5f5f 32 intel shr byte ptr [eax], 0x1
-d028|11223344556677885f5f5f5f5f5f 32 plan9 SHRB $0x1, 0(AX)
-d028|11223344556677885f5f5f5f5f5f 64 gnu shrb (%rax)
-d028|11223344556677885f5f5f5f5f5f 64 intel shr byte ptr [rax], 0x1
-d028|11223344556677885f5f5f5f5f5f 64 plan9 SHRB $0x1, 0(AX)
-d038|11223344556677885f5f5f5f5f5f 32 intel sar byte ptr [eax], 0x1
-d038|11223344556677885f5f5f5f5f5f 32 plan9 SARB $0x1, 0(AX)
-d038|11223344556677885f5f5f5f5f5f 64 gnu sarb (%rax)
-d038|11223344556677885f5f5f5f5f5f 64 intel sar byte ptr [rax], 0x1
-d038|11223344556677885f5f5f5f5f5f 64 plan9 SARB $0x1, 0(AX)
-d100|11223344556677885f5f5f5f5f5f 32 intel rol dword ptr [eax], 0x1
-d100|11223344556677885f5f5f5f5f5f 32 plan9 ROLL $0x1, 0(AX)
-d100|11223344556677885f5f5f5f5f5f 64 gnu roll (%rax)
-d100|11223344556677885f5f5f5f5f5f 64 intel rol dword ptr [rax], 0x1
-d100|11223344556677885f5f5f5f5f5f 64 plan9 ROLL $0x1, 0(AX)
-d108|11223344556677885f5f5f5f5f5f 32 intel ror dword ptr [eax], 0x1
-d108|11223344556677885f5f5f5f5f5f 32 plan9 RORL $0x1, 0(AX)
-d108|11223344556677885f5f5f5f5f5f 64 gnu rorl (%rax)
-d108|11223344556677885f5f5f5f5f5f 64 intel ror dword ptr [rax], 0x1
-d108|11223344556677885f5f5f5f5f5f 64 plan9 RORL $0x1, 0(AX)
-d111|223344556677885f5f5f5f5f5f5f 32 intel rcl dword ptr [ecx], 0x1
-d111|223344556677885f5f5f5f5f5f5f 32 plan9 RCLL $0x1, 0(CX)
-d111|223344556677885f5f5f5f5f5f5f 64 gnu rcll (%rcx)
-d111|223344556677885f5f5f5f5f5f5f 64 intel rcl dword ptr [rcx], 0x1
-d111|223344556677885f5f5f5f5f5f5f 64 plan9 RCLL $0x1, 0(CX)
-d118|11223344556677885f5f5f5f5f5f 32 intel rcr dword ptr [eax], 0x1
-d118|11223344556677885f5f5f5f5f5f 32 plan9 RCRL $0x1, 0(AX)
-d118|11223344556677885f5f5f5f5f5f 64 gnu rcrl (%rax)
-d118|11223344556677885f5f5f5f5f5f 64 intel rcr dword ptr [rax], 0x1
-d118|11223344556677885f5f5f5f5f5f 64 plan9 RCRL $0x1, 0(AX)
-d120|11223344556677885f5f5f5f5f5f 32 intel shl dword ptr [eax], 0x1
-d120|11223344556677885f5f5f5f5f5f 32 plan9 SHLL $0x1, 0(AX)
-d120|11223344556677885f5f5f5f5f5f 64 gnu shll (%rax)
-d120|11223344556677885f5f5f5f5f5f 64 intel shl dword ptr [rax], 0x1
-d120|11223344556677885f5f5f5f5f5f 64 plan9 SHLL $0x1, 0(AX)
-d128|11223344556677885f5f5f5f5f5f 32 intel shr dword ptr [eax], 0x1
-d128|11223344556677885f5f5f5f5f5f 32 plan9 SHRL $0x1, 0(AX)
-d128|11223344556677885f5f5f5f5f5f 64 gnu shrl (%rax)
-d128|11223344556677885f5f5f5f5f5f 64 intel shr dword ptr [rax], 0x1
-d128|11223344556677885f5f5f5f5f5f 64 plan9 SHRL $0x1, 0(AX)
-d138|11223344556677885f5f5f5f5f5f 32 intel sar dword ptr [eax], 0x1
-d138|11223344556677885f5f5f5f5f5f 32 plan9 SARL $0x1, 0(AX)
-d138|11223344556677885f5f5f5f5f5f 64 gnu sarl (%rax)
-d138|11223344556677885f5f5f5f5f5f 64 intel sar dword ptr [rax], 0x1
-d138|11223344556677885f5f5f5f5f5f 64 plan9 SARL $0x1, 0(AX)
-d200|11223344556677885f5f5f5f5f5f 32 intel rol byte ptr [eax], cl
-d200|11223344556677885f5f5f5f5f5f 32 plan9 ROLB CL, 0(AX)
-d200|11223344556677885f5f5f5f5f5f 64 gnu rolb %cl,(%rax)
-d200|11223344556677885f5f5f5f5f5f 64 intel rol byte ptr [rax], cl
-d200|11223344556677885f5f5f5f5f5f 64 plan9 ROLB CL, 0(AX)
-d208|11223344556677885f5f5f5f5f5f 32 intel ror byte ptr [eax], cl
-d208|11223344556677885f5f5f5f5f5f 32 plan9 RORB CL, 0(AX)
-d208|11223344556677885f5f5f5f5f5f 64 gnu rorb %cl,(%rax)
-d208|11223344556677885f5f5f5f5f5f 64 intel ror byte ptr [rax], cl
-d208|11223344556677885f5f5f5f5f5f 64 plan9 RORB CL, 0(AX)
-d211|223344556677885f5f5f5f5f5f5f 32 intel rcl byte ptr [ecx], cl
-d211|223344556677885f5f5f5f5f5f5f 32 plan9 RCLB CL, 0(CX)
-d211|223344556677885f5f5f5f5f5f5f 64 gnu rclb %cl,(%rcx)
-d211|223344556677885f5f5f5f5f5f5f 64 intel rcl byte ptr [rcx], cl
-d211|223344556677885f5f5f5f5f5f5f 64 plan9 RCLB CL, 0(CX)
-d218|11223344556677885f5f5f5f5f5f 32 intel rcr byte ptr [eax], cl
-d218|11223344556677885f5f5f5f5f5f 32 plan9 RCRB CL, 0(AX)
-d218|11223344556677885f5f5f5f5f5f 64 gnu rcrb %cl,(%rax)
-d218|11223344556677885f5f5f5f5f5f 64 intel rcr byte ptr [rax], cl
-d218|11223344556677885f5f5f5f5f5f 64 plan9 RCRB CL, 0(AX)
-d220|11223344556677885f5f5f5f5f5f 32 intel shl byte ptr [eax], cl
-d220|11223344556677885f5f5f5f5f5f 32 plan9 SHLB CL, 0(AX)
-d220|11223344556677885f5f5f5f5f5f 64 gnu shlb %cl,(%rax)
-d220|11223344556677885f5f5f5f5f5f 64 intel shl byte ptr [rax], cl
-d220|11223344556677885f5f5f5f5f5f 64 plan9 SHLB CL, 0(AX)
-d228|11223344556677885f5f5f5f5f5f 32 intel shr byte ptr [eax], cl
-d228|11223344556677885f5f5f5f5f5f 32 plan9 SHRB CL, 0(AX)
-d228|11223344556677885f5f5f5f5f5f 64 gnu shrb %cl,(%rax)
-d228|11223344556677885f5f5f5f5f5f 64 intel shr byte ptr [rax], cl
-d228|11223344556677885f5f5f5f5f5f 64 plan9 SHRB CL, 0(AX)
-d238|11223344556677885f5f5f5f5f5f 32 intel sar byte ptr [eax], cl
-d238|11223344556677885f5f5f5f5f5f 32 plan9 SARB CL, 0(AX)
-d238|11223344556677885f5f5f5f5f5f 64 gnu sarb %cl,(%rax)
-d238|11223344556677885f5f5f5f5f5f 64 intel sar byte ptr [rax], cl
-d238|11223344556677885f5f5f5f5f5f 64 plan9 SARB CL, 0(AX)
-d300|11223344556677885f5f5f5f5f5f 32 intel rol dword ptr [eax], cl
-d300|11223344556677885f5f5f5f5f5f 32 plan9 ROLL CL, 0(AX)
-d300|11223344556677885f5f5f5f5f5f 64 gnu roll %cl,(%rax)
-d300|11223344556677885f5f5f5f5f5f 64 intel rol dword ptr [rax], cl
-d300|11223344556677885f5f5f5f5f5f 64 plan9 ROLL CL, 0(AX)
-d308|11223344556677885f5f5f5f5f5f 32 intel ror dword ptr [eax], cl
-d308|11223344556677885f5f5f5f5f5f 32 plan9 RORL CL, 0(AX)
-d308|11223344556677885f5f5f5f5f5f 64 gnu rorl %cl,(%rax)
-d308|11223344556677885f5f5f5f5f5f 64 intel ror dword ptr [rax], cl
-d308|11223344556677885f5f5f5f5f5f 64 plan9 RORL CL, 0(AX)
-d311|223344556677885f5f5f5f5f5f5f 32 intel rcl dword ptr [ecx], cl
-d311|223344556677885f5f5f5f5f5f5f 32 plan9 RCLL CL, 0(CX)
-d311|223344556677885f5f5f5f5f5f5f 64 gnu rcll %cl,(%rcx)
-d311|223344556677885f5f5f5f5f5f5f 64 intel rcl dword ptr [rcx], cl
-d311|223344556677885f5f5f5f5f5f5f 64 plan9 RCLL CL, 0(CX)
-d318|11223344556677885f5f5f5f5f5f 32 intel rcr dword ptr [eax], cl
-d318|11223344556677885f5f5f5f5f5f 32 plan9 RCRL CL, 0(AX)
-d318|11223344556677885f5f5f5f5f5f 64 gnu rcrl %cl,(%rax)
-d318|11223344556677885f5f5f5f5f5f 64 intel rcr dword ptr [rax], cl
-d318|11223344556677885f5f5f5f5f5f 64 plan9 RCRL CL, 0(AX)
-d320|11223344556677885f5f5f5f5f5f 32 intel shl dword ptr [eax], cl
-d320|11223344556677885f5f5f5f5f5f 32 plan9 SHLL CL, 0(AX)
-d320|11223344556677885f5f5f5f5f5f 64 gnu shll %cl,(%rax)
-d320|11223344556677885f5f5f5f5f5f 64 intel shl dword ptr [rax], cl
-d320|11223344556677885f5f5f5f5f5f 64 plan9 SHLL CL, 0(AX)
-d328|11223344556677885f5f5f5f5f5f 32 intel shr dword ptr [eax], cl
-d328|11223344556677885f5f5f5f5f5f 32 plan9 SHRL CL, 0(AX)
-d328|11223344556677885f5f5f5f5f5f 64 gnu shrl %cl,(%rax)
-d328|11223344556677885f5f5f5f5f5f 64 intel shr dword ptr [rax], cl
-d328|11223344556677885f5f5f5f5f5f 64 plan9 SHRL CL, 0(AX)
-d338|11223344556677885f5f5f5f5f5f 32 intel sar dword ptr [eax], cl
-d338|11223344556677885f5f5f5f5f5f 32 plan9 SARL CL, 0(AX)
-d338|11223344556677885f5f5f5f5f5f 64 gnu sarl %cl,(%rax)
-d338|11223344556677885f5f5f5f5f5f 64 intel sar dword ptr [rax], cl
-d338|11223344556677885f5f5f5f5f5f 64 plan9 SARL CL, 0(AX)
-d511|223344556677885f5f5f5f5f5f5f 32 intel aad 0x11
-d511|223344556677885f5f5f5f5f5f5f 32 plan9 AAD $0x11
-d5|11223344556677885f5f5f5f5f5f5f 64 gnu error: unrecognized instruction
-d5|11223344556677885f5f5f5f5f5f5f 64 intel error: unrecognized instruction
-d5|11223344556677885f5f5f5f5f5f5f 64 plan9 error: unrecognized instruction
-d800|11223344556677885f5f5f5f5f5f 32 intel fadd st0, dword ptr [eax]
-d800|11223344556677885f5f5f5f5f5f 32 plan9 FADD 0(AX)
-d800|11223344556677885f5f5f5f5f5f 64 gnu fadds (%rax)
-d800|11223344556677885f5f5f5f5f5f 64 intel fadd st0, dword ptr [rax]
-d800|11223344556677885f5f5f5f5f5f 64 plan9 FADD 0(AX)
-d808|11223344556677885f5f5f5f5f5f 32 intel fmul st0, dword ptr [eax]
-d808|11223344556677885f5f5f5f5f5f 32 plan9 FMUL 0(AX)
-d808|11223344556677885f5f5f5f5f5f 64 gnu fmuls (%rax)
-d808|11223344556677885f5f5f5f5f5f 64 intel fmul st0, dword ptr [rax]
-d808|11223344556677885f5f5f5f5f5f 64 plan9 FMUL 0(AX)
-d811|223344556677885f5f5f5f5f5f5f 32 intel fcom st0, dword ptr [ecx]
-d811|223344556677885f5f5f5f5f5f5f 32 plan9 FCOM 0(CX)
-d811|223344556677885f5f5f5f5f5f5f 64 gnu fcoms (%rcx)
-d811|223344556677885f5f5f5f5f5f5f 64 intel fcom st0, dword ptr [rcx]
-d811|223344556677885f5f5f5f5f5f5f 64 plan9 FCOM 0(CX)
-d818|11223344556677885f5f5f5f5f5f 32 intel fcomp st0, dword ptr [eax]
-d818|11223344556677885f5f5f5f5f5f 32 plan9 FCOMP 0(AX)
-d818|11223344556677885f5f5f5f5f5f 64 gnu fcomps (%rax)
-d818|11223344556677885f5f5f5f5f5f 64 intel fcomp st0, dword ptr [rax]
-d818|11223344556677885f5f5f5f5f5f 64 plan9 FCOMP 0(AX)
-d820|11223344556677885f5f5f5f5f5f 32 intel fsub st0, dword ptr [eax]
-d820|11223344556677885f5f5f5f5f5f 32 plan9 FSUB 0(AX)
-d820|11223344556677885f5f5f5f5f5f 64 gnu fsubs (%rax)
-d820|11223344556677885f5f5f5f5f5f 64 intel fsub st0, dword ptr [rax]
-d820|11223344556677885f5f5f5f5f5f 64 plan9 FSUB 0(AX)
-d828|11223344556677885f5f5f5f5f5f 32 intel fsubr st0, dword ptr [eax]
-d828|11223344556677885f5f5f5f5f5f 32 plan9 FSUBR 0(AX)
-d828|11223344556677885f5f5f5f5f5f 64 gnu fsubrs (%rax)
-d828|11223344556677885f5f5f5f5f5f 64 intel fsubr st0, dword ptr [rax]
-d828|11223344556677885f5f5f5f5f5f 64 plan9 FSUBR 0(AX)
-d830|11223344556677885f5f5f5f5f5f 32 intel fdiv st0, dword ptr [eax]
-d830|11223344556677885f5f5f5f5f5f 32 plan9 FDIV 0(AX)
-d830|11223344556677885f5f5f5f5f5f 64 gnu fdivs (%rax)
-d830|11223344556677885f5f5f5f5f5f 64 intel fdiv st0, dword ptr [rax]
-d830|11223344556677885f5f5f5f5f5f 64 plan9 FDIV 0(AX)
-d838|11223344556677885f5f5f5f5f5f 32 intel fdivr st0, dword ptr [eax]
-d838|11223344556677885f5f5f5f5f5f 32 plan9 FDIVR 0(AX)
-d838|11223344556677885f5f5f5f5f5f 64 gnu fdivrs (%rax)
-d838|11223344556677885f5f5f5f5f5f 64 intel fdivr st0, dword ptr [rax]
-d838|11223344556677885f5f5f5f5f5f 64 plan9 FDIVR 0(AX)
-d8c0|11223344556677885f5f5f5f5f5f 32 intel fadd st0, st0
-d8c0|11223344556677885f5f5f5f5f5f 32 plan9 FADD F0, F0
-d8c0|11223344556677885f5f5f5f5f5f 64 gnu fadd %st,%st
-d8c0|11223344556677885f5f5f5f5f5f 64 intel fadd st0, st0
-d8c0|11223344556677885f5f5f5f5f5f 64 plan9 FADD F0, F0
-d8c8|11223344556677885f5f5f5f5f5f 32 intel fmul st0, st0
-d8c8|11223344556677885f5f5f5f5f5f 32 plan9 FMUL F0, F0
-d8c8|11223344556677885f5f5f5f5f5f 64 gnu fmul %st,%st
-d8c8|11223344556677885f5f5f5f5f5f 64 intel fmul st0, st0
-d8c8|11223344556677885f5f5f5f5f5f 64 plan9 FMUL F0, F0
-d8d0|11223344556677885f5f5f5f5f5f 32 intel fcom st0, st0
-d8d0|11223344556677885f5f5f5f5f5f 32 plan9 FCOM F0
-d8d0|11223344556677885f5f5f5f5f5f 64 gnu fcom %st
-d8d0|11223344556677885f5f5f5f5f5f 64 intel fcom st0, st0
-d8d0|11223344556677885f5f5f5f5f5f 64 plan9 FCOM F0
-d8d8|11223344556677885f5f5f5f5f5f 32 intel fcomp st0, st0
-d8d8|11223344556677885f5f5f5f5f5f 32 plan9 FCOMP F0
-d8d8|11223344556677885f5f5f5f5f5f 64 gnu fcomp %st
-d8d8|11223344556677885f5f5f5f5f5f 64 intel fcomp st0, st0
-d8d8|11223344556677885f5f5f5f5f5f 64 plan9 FCOMP F0
-d8e0|11223344556677885f5f5f5f5f5f 32 intel fsub st0, st0
-d8e0|11223344556677885f5f5f5f5f5f 32 plan9 FSUB F0, F0
-d8e0|11223344556677885f5f5f5f5f5f 64 gnu fsub %st,%st
-d8e0|11223344556677885f5f5f5f5f5f 64 intel fsub st0, st0
-d8e0|11223344556677885f5f5f5f5f5f 64 plan9 FSUB F0, F0
-d8e8|11223344556677885f5f5f5f5f5f 32 intel fsubr st0, st0
-d8e8|11223344556677885f5f5f5f5f5f 32 plan9 FSUBR F0, F0
-d8e8|11223344556677885f5f5f5f5f5f 64 gnu fsubr %st,%st
-d8e8|11223344556677885f5f5f5f5f5f 64 intel fsubr st0, st0
-d8e8|11223344556677885f5f5f5f5f5f 64 plan9 FSUBR F0, F0
-d8f0|11223344556677885f5f5f5f5f5f 32 intel fdiv st0, st0
-d8f0|11223344556677885f5f5f5f5f5f 32 plan9 FDIV F0, F0
-d8f0|11223344556677885f5f5f5f5f5f 64 gnu fdiv %st,%st
-d8f0|11223344556677885f5f5f5f5f5f 64 intel fdiv st0, st0
-d8f0|11223344556677885f5f5f5f5f5f 64 plan9 FDIV F0, F0
-d8f8|11223344556677885f5f5f5f5f5f 32 intel fdivr st0, st0
-d8f8|11223344556677885f5f5f5f5f5f 32 plan9 FDIVR F0, F0
-d8f8|11223344556677885f5f5f5f5f5f 64 gnu fdivr %st,%st
-d8f8|11223344556677885f5f5f5f5f5f 64 intel fdivr st0, st0
-d8f8|11223344556677885f5f5f5f5f5f 64 plan9 FDIVR F0, F0
-d900|11223344556677885f5f5f5f5f5f 32 intel fld st0, dword ptr [eax]
-d900|11223344556677885f5f5f5f5f5f 32 plan9 FLD 0(AX)
-d900|11223344556677885f5f5f5f5f5f 64 gnu flds (%rax)
-d900|11223344556677885f5f5f5f5f5f 64 intel fld st0, dword ptr [rax]
-d900|11223344556677885f5f5f5f5f5f 64 plan9 FLD 0(AX)
-d911|223344556677885f5f5f5f5f5f5f 32 intel fst dword ptr [ecx], st0
-d911|223344556677885f5f5f5f5f5f5f 32 plan9 FST 0(CX)
-d911|223344556677885f5f5f5f5f5f5f 64 gnu fsts (%rcx)
-d911|223344556677885f5f5f5f5f5f5f 64 intel fst dword ptr [rcx], st0
-d911|223344556677885f5f5f5f5f5f5f 64 plan9 FST 0(CX)
-d918|11223344556677885f5f5f5f5f5f 32 intel fstp dword ptr [eax], st0
-d918|11223344556677885f5f5f5f5f5f 32 plan9 FSTP 0(AX)
-d918|11223344556677885f5f5f5f5f5f 64 gnu fstps (%rax)
-d918|11223344556677885f5f5f5f5f5f 64 intel fstp dword ptr [rax], st0
-d918|11223344556677885f5f5f5f5f5f 64 plan9 FSTP 0(AX)
-d928|11223344556677885f5f5f5f5f5f 32 intel fldcw word ptr [eax]
-d928|11223344556677885f5f5f5f5f5f 32 plan9 FLDCW 0(AX)
-d928|11223344556677885f5f5f5f5f5f 64 gnu fldcw (%rax)
-d928|11223344556677885f5f5f5f5f5f 64 intel fldcw word ptr [rax]
-d928|11223344556677885f5f5f5f5f5f 64 plan9 FLDCW 0(AX)
-d930|11223344556677885f5f5f5f5f5f 32 intel fnstenv ptr [eax]
-d930|11223344556677885f5f5f5f5f5f 32 plan9 FNSTENV 0(AX)
-d930|11223344556677885f5f5f5f5f5f 64 gnu fnstenv (%rax)
-d930|11223344556677885f5f5f5f5f5f 64 intel fnstenv ptr [rax]
-d930|11223344556677885f5f5f5f5f5f 64 plan9 FNSTENV 0(AX)
-d938|11223344556677885f5f5f5f5f5f 32 intel fnstcw word ptr [eax]
-d938|11223344556677885f5f5f5f5f5f 32 plan9 FNSTCW 0(AX)
-d938|11223344556677885f5f5f5f5f5f 64 gnu fnstcw (%rax)
-d938|11223344556677885f5f5f5f5f5f 64 intel fnstcw word ptr [rax]
-d938|11223344556677885f5f5f5f5f5f 64 plan9 FNSTCW 0(AX)
-d9c0|11223344556677885f5f5f5f5f5f 32 intel fld st0, st0
-d9c0|11223344556677885f5f5f5f5f5f 32 plan9 FLD F0
-d9c0|11223344556677885f5f5f5f5f5f 64 gnu fld %st
-d9c0|11223344556677885f5f5f5f5f5f 64 intel fld st0, st0
-d9c0|11223344556677885f5f5f5f5f5f 64 plan9 FLD F0
-d9c8|11223344556677885f5f5f5f5f5f 32 intel fxch st0, st0
-d9c8|11223344556677885f5f5f5f5f5f 32 plan9 FXCH F0
-d9c8|11223344556677885f5f5f5f5f5f 64 gnu fxch %st
-d9c8|11223344556677885f5f5f5f5f5f 64 intel fxch st0, st0
-d9c8|11223344556677885f5f5f5f5f5f 64 plan9 FXCH F0
-d9d0|11223344556677885f5f5f5f5f5f 32 intel fnop
-d9d0|11223344556677885f5f5f5f5f5f 32 plan9 FNOP
-d9d0|11223344556677885f5f5f5f5f5f 64 gnu fnop
-d9d0|11223344556677885f5f5f5f5f5f 64 intel fnop
-d9d0|11223344556677885f5f5f5f5f5f 64 plan9 FNOP
-d9e0|11223344556677885f5f5f5f5f5f 32 intel fchs st0
-d9e0|11223344556677885f5f5f5f5f5f 32 plan9 FCHS
-d9e0|11223344556677885f5f5f5f5f5f 64 gnu fchs
-d9e0|11223344556677885f5f5f5f5f5f 64 intel fchs st0
-d9e0|11223344556677885f5f5f5f5f5f 64 plan9 FCHS
-d9e1|11223344556677885f5f5f5f5f5f 32 intel fabs st0
-d9e1|11223344556677885f5f5f5f5f5f 32 plan9 FABS
-d9e1|11223344556677885f5f5f5f5f5f 64 gnu fabs
-d9e1|11223344556677885f5f5f5f5f5f 64 intel fabs st0
-d9e1|11223344556677885f5f5f5f5f5f 64 plan9 FABS
-d9e4|11223344556677885f5f5f5f5f5f 32 intel ftst st0
-d9e4|11223344556677885f5f5f5f5f5f 32 plan9 FTST
-d9e4|11223344556677885f5f5f5f5f5f 64 gnu ftst
-d9e4|11223344556677885f5f5f5f5f5f 64 intel ftst st0
-d9e4|11223344556677885f5f5f5f5f5f 64 plan9 FTST
-d9e5|11223344556677885f5f5f5f5f5f 32 intel fxam st0
-d9e5|11223344556677885f5f5f5f5f5f 32 plan9 FXAM
-d9e5|11223344556677885f5f5f5f5f5f 64 gnu fxam
-d9e5|11223344556677885f5f5f5f5f5f 64 intel fxam st0
-d9e5|11223344556677885f5f5f5f5f5f 64 plan9 FXAM
-d9e8|11223344556677885f5f5f5f5f5f 32 intel fld1 st0
-d9e8|11223344556677885f5f5f5f5f5f 32 plan9 FLD1
-d9e8|11223344556677885f5f5f5f5f5f 64 gnu fld1
-d9e8|11223344556677885f5f5f5f5f5f 64 intel fld1 st0
-d9e8|11223344556677885f5f5f5f5f5f 64 plan9 FLD1
-d9e9|11223344556677885f5f5f5f5f5f 32 intel fldl2t st0
-d9e9|11223344556677885f5f5f5f5f5f 32 plan9 FLDL2T
-d9e9|11223344556677885f5f5f5f5f5f 64 gnu fldl2t
-d9e9|11223344556677885f5f5f5f5f5f 64 intel fldl2t st0
-d9e9|11223344556677885f5f5f5f5f5f 64 plan9 FLDL2T
-d9ea|11223344556677885f5f5f5f5f5f 32 intel fldl2e st0
-d9ea|11223344556677885f5f5f5f5f5f 32 plan9 FLDL2E
-d9ea|11223344556677885f5f5f5f5f5f 64 gnu fldl2e
-d9ea|11223344556677885f5f5f5f5f5f 64 intel fldl2e st0
-d9ea|11223344556677885f5f5f5f5f5f 64 plan9 FLDL2E
-d9eb|11223344556677885f5f5f5f5f5f 32 intel fldpi st0
-d9eb|11223344556677885f5f5f5f5f5f 32 plan9 FLDPI
-d9eb|11223344556677885f5f5f5f5f5f 64 gnu fldpi
-d9eb|11223344556677885f5f5f5f5f5f 64 intel fldpi st0
-d9eb|11223344556677885f5f5f5f5f5f 64 plan9 FLDPI
-d9ec|11223344556677885f5f5f5f5f5f 32 intel fldlg2 st0
-d9ec|11223344556677885f5f5f5f5f5f 32 plan9 FLDLG2
-d9ec|11223344556677885f5f5f5f5f5f 64 gnu fldlg2
-d9ec|11223344556677885f5f5f5f5f5f 64 intel fldlg2 st0
-d9ec|11223344556677885f5f5f5f5f5f 64 plan9 FLDLG2
-d9f0|11223344556677885f5f5f5f5f5f 32 intel f2xm1 st0
-d9f0|11223344556677885f5f5f5f5f5f 32 plan9 F2XM1
-d9f0|11223344556677885f5f5f5f5f5f 64 gnu f2xm1
-d9f0|11223344556677885f5f5f5f5f5f 64 intel f2xm1 st0
-d9f0|11223344556677885f5f5f5f5f5f 64 plan9 F2XM1
-d9f1|11223344556677885f5f5f5f5f5f 32 intel fyl2x st0, st1
-d9f1|11223344556677885f5f5f5f5f5f 32 plan9 FYL2X
-d9f1|11223344556677885f5f5f5f5f5f 64 gnu fyl2x
-d9f1|11223344556677885f5f5f5f5f5f 64 intel fyl2x st0, st1
-d9f1|11223344556677885f5f5f5f5f5f 64 plan9 FYL2X
-d9f2|11223344556677885f5f5f5f5f5f 32 intel fptan st0, st1
-d9f2|11223344556677885f5f5f5f5f5f 32 plan9 FPTAN
-d9f2|11223344556677885f5f5f5f5f5f 64 gnu fptan
-d9f2|11223344556677885f5f5f5f5f5f 64 intel fptan st0, st1
-d9f2|11223344556677885f5f5f5f5f5f 64 plan9 FPTAN
-d9f3|11223344556677885f5f5f5f5f5f 32 intel fpatan st0, st1
-d9f3|11223344556677885f5f5f5f5f5f 32 plan9 FPATAN
-d9f3|11223344556677885f5f5f5f5f5f 64 gnu fpatan
-d9f3|11223344556677885f5f5f5f5f5f 64 intel fpatan st0, st1
-d9f3|11223344556677885f5f5f5f5f5f 64 plan9 FPATAN
-d9f4|11223344556677885f5f5f5f5f5f 32 intel fxtract st0, st1
-d9f4|11223344556677885f5f5f5f5f5f 32 plan9 FXTRACT
-d9f4|11223344556677885f5f5f5f5f5f 64 gnu fxtract
-d9f4|11223344556677885f5f5f5f5f5f 64 intel fxtract st0, st1
-d9f4|11223344556677885f5f5f5f5f5f 64 plan9 FXTRACT
-d9f5|11223344556677885f5f5f5f5f5f 32 intel fprem1 st0, st1
-d9f5|11223344556677885f5f5f5f5f5f 32 plan9 FPREM1
-d9f5|11223344556677885f5f5f5f5f5f 64 gnu fprem1
-d9f5|11223344556677885f5f5f5f5f5f 64 intel fprem1 st0, st1
-d9f5|11223344556677885f5f5f5f5f5f 64 plan9 FPREM1
-d9f6|11223344556677885f5f5f5f5f5f 32 intel fdecstp
-d9f6|11223344556677885f5f5f5f5f5f 32 plan9 FDECSTP
-d9f6|11223344556677885f5f5f5f5f5f 64 gnu fdecstp
-d9f6|11223344556677885f5f5f5f5f5f 64 intel fdecstp
-d9f6|11223344556677885f5f5f5f5f5f 64 plan9 FDECSTP
-d9f7|11223344556677885f5f5f5f5f5f 32 intel fincstp
-d9f7|11223344556677885f5f5f5f5f5f 32 plan9 FINCSTP
-d9f7|11223344556677885f5f5f5f5f5f 64 gnu fincstp
-d9f7|11223344556677885f5f5f5f5f5f 64 intel fincstp
-d9f7|11223344556677885f5f5f5f5f5f 64 plan9 FINCSTP
-d9f8|11223344556677885f5f5f5f5f5f 32 intel fprem st0, st1
-d9f8|11223344556677885f5f5f5f5f5f 32 plan9 FPREM
-d9f8|11223344556677885f5f5f5f5f5f 64 gnu fprem
-d9f8|11223344556677885f5f5f5f5f5f 64 intel fprem st0, st1
-d9f8|11223344556677885f5f5f5f5f5f 64 plan9 FPREM
-d9f9|11223344556677885f5f5f5f5f5f 32 intel fyl2xp1 st0, st1
-d9f9|11223344556677885f5f5f5f5f5f 32 plan9 FYL2XP1
-d9f9|11223344556677885f5f5f5f5f5f 64 gnu fyl2xp1
-d9f9|11223344556677885f5f5f5f5f5f 64 intel fyl2xp1 st0, st1
-d9f9|11223344556677885f5f5f5f5f5f 64 plan9 FYL2XP1
-d9fa|11223344556677885f5f5f5f5f5f 32 intel fsqrt st0
-d9fa|11223344556677885f5f5f5f5f5f 32 plan9 FSQRT
-d9fa|11223344556677885f5f5f5f5f5f 64 gnu fsqrt
-d9fa|11223344556677885f5f5f5f5f5f 64 intel fsqrt st0
-d9fa|11223344556677885f5f5f5f5f5f 64 plan9 FSQRT
-d9fb|11223344556677885f5f5f5f5f5f 32 intel fsincos st0, st1
-d9fb|11223344556677885f5f5f5f5f5f 32 plan9 FSINCOS
-d9fb|11223344556677885f5f5f5f5f5f 64 gnu fsincos
-d9fb|11223344556677885f5f5f5f5f5f 64 intel fsincos st0, st1
-d9fb|11223344556677885f5f5f5f5f5f 64 plan9 FSINCOS
-d9fc|11223344556677885f5f5f5f5f5f 32 intel frndint st0
-d9fc|11223344556677885f5f5f5f5f5f 32 plan9 FRNDINT
-d9fc|11223344556677885f5f5f5f5f5f 64 gnu frndint
-d9fc|11223344556677885f5f5f5f5f5f 64 intel frndint st0
-d9fc|11223344556677885f5f5f5f5f5f 64 plan9 FRNDINT
-d9fd|11223344556677885f5f5f5f5f5f 32 intel fscale st0, st1
-d9fd|11223344556677885f5f5f5f5f5f 32 plan9 FSCALE
-d9fd|11223344556677885f5f5f5f5f5f 64 gnu fscale
-d9fd|11223344556677885f5f5f5f5f5f 64 intel fscale st0, st1
-d9fd|11223344556677885f5f5f5f5f5f 64 plan9 FSCALE
-d9fe|11223344556677885f5f5f5f5f5f 32 intel fsin st0
-d9fe|11223344556677885f5f5f5f5f5f 32 plan9 FSIN
-d9fe|11223344556677885f5f5f5f5f5f 64 gnu fsin
-d9fe|11223344556677885f5f5f5f5f5f 64 intel fsin st0
-d9fe|11223344556677885f5f5f5f5f5f 64 plan9 FSIN
-d9ff|11223344556677885f5f5f5f5f5f 32 intel fcos st0
-d9ff|11223344556677885f5f5f5f5f5f 32 plan9 FCOS
-d9ff|11223344556677885f5f5f5f5f5f 64 gnu fcos
-d9ff|11223344556677885f5f5f5f5f5f 64 intel fcos st0
-d9ff|11223344556677885f5f5f5f5f5f 64 plan9 FCOS
-da00|11223344556677885f5f5f5f5f5f 32 intel fiadd st0, dword ptr [eax]
-da00|11223344556677885f5f5f5f5f5f 32 plan9 FIADD 0(AX)
-da00|11223344556677885f5f5f5f5f5f 64 gnu fiaddl (%rax)
-da00|11223344556677885f5f5f5f5f5f 64 intel fiadd st0, dword ptr [rax]
-da00|11223344556677885f5f5f5f5f5f 64 plan9 FIADD 0(AX)
-da08|11223344556677885f5f5f5f5f5f 32 intel fimul st0, dword ptr [eax]
-da08|11223344556677885f5f5f5f5f5f 32 plan9 FIMUL 0(AX)
-da08|11223344556677885f5f5f5f5f5f 64 gnu fimull (%rax)
-da08|11223344556677885f5f5f5f5f5f 64 intel fimul st0, dword ptr [rax]
-da08|11223344556677885f5f5f5f5f5f 64 plan9 FIMUL 0(AX)
-da11|223344556677885f5f5f5f5f5f5f 32 intel ficom st0, dword ptr [ecx]
-da11|223344556677885f5f5f5f5f5f5f 32 plan9 FICOM 0(CX)
-da11|223344556677885f5f5f5f5f5f5f 64 gnu ficoml (%rcx)
-da11|223344556677885f5f5f5f5f5f5f 64 intel ficom st0, dword ptr [rcx]
-da11|223344556677885f5f5f5f5f5f5f 64 plan9 FICOM 0(CX)
-da18|11223344556677885f5f5f5f5f5f 32 intel ficomp st0, dword ptr [eax]
-da18|11223344556677885f5f5f5f5f5f 32 plan9 FICOMP 0(AX)
-da18|11223344556677885f5f5f5f5f5f 64 gnu ficompl (%rax)
-da18|11223344556677885f5f5f5f5f5f 64 intel ficomp st0, dword ptr [rax]
-da18|11223344556677885f5f5f5f5f5f 64 plan9 FICOMP 0(AX)
-da20|11223344556677885f5f5f5f5f5f 32 intel fisub st0, dword ptr [eax]
-da20|11223344556677885f5f5f5f5f5f 32 plan9 FISUB 0(AX)
-da20|11223344556677885f5f5f5f5f5f 64 gnu fisubl (%rax)
-da20|11223344556677885f5f5f5f5f5f 64 intel fisub st0, dword ptr [rax]
-da20|11223344556677885f5f5f5f5f5f 64 plan9 FISUB 0(AX)
-da28|11223344556677885f5f5f5f5f5f 32 intel fisubr st0, dword ptr [eax]
-da28|11223344556677885f5f5f5f5f5f 32 plan9 FISUBR 0(AX)
-da28|11223344556677885f5f5f5f5f5f 64 gnu fisubrl (%rax)
-da28|11223344556677885f5f5f5f5f5f 64 intel fisubr st0, dword ptr [rax]
-da28|11223344556677885f5f5f5f5f5f 64 plan9 FISUBR 0(AX)
-da30|11223344556677885f5f5f5f5f5f 32 intel fidiv st0, dword ptr [eax]
-da30|11223344556677885f5f5f5f5f5f 32 plan9 FIDIV 0(AX)
-da30|11223344556677885f5f5f5f5f5f 64 gnu fidivl (%rax)
-da30|11223344556677885f5f5f5f5f5f 64 intel fidiv st0, dword ptr [rax]
-da30|11223344556677885f5f5f5f5f5f 64 plan9 FIDIV 0(AX)
-da38|11223344556677885f5f5f5f5f5f 32 intel fidivr st0, dword ptr [eax]
-da38|11223344556677885f5f5f5f5f5f 32 plan9 FIDIVR 0(AX)
-da38|11223344556677885f5f5f5f5f5f 64 gnu fidivrl (%rax)
-da38|11223344556677885f5f5f5f5f5f 64 intel fidivr st0, dword ptr [rax]
-da38|11223344556677885f5f5f5f5f5f 64 plan9 FIDIVR 0(AX)
-dac0|11223344556677885f5f5f5f5f5f 32 intel fcmovb st0, st0
-dac0|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVB F0, F0
-dac0|11223344556677885f5f5f5f5f5f 64 gnu fcmovb %st,%st
-dac0|11223344556677885f5f5f5f5f5f 64 intel fcmovb st0, st0
-dac0|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVB F0, F0
-dac8|11223344556677885f5f5f5f5f5f 32 intel fcmove st0, st0
-dac8|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVE F0, F0
-dac8|11223344556677885f5f5f5f5f5f 64 gnu fcmove %st,%st
-dac8|11223344556677885f5f5f5f5f5f 64 intel fcmove st0, st0
-dac8|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVE F0, F0
-dad0|11223344556677885f5f5f5f5f5f 32 intel fcmovbe st0, st0
-dad0|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVBE F0, F0
-dad0|11223344556677885f5f5f5f5f5f 64 gnu fcmovbe %st,%st
-dad0|11223344556677885f5f5f5f5f5f 64 intel fcmovbe st0, st0
-dad0|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVBE F0, F0
-dad8|11223344556677885f5f5f5f5f5f 32 intel fcmovu st0, st0
-dad8|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVU F0, F0
-dad8|11223344556677885f5f5f5f5f5f 64 gnu fcmovu %st,%st
-dad8|11223344556677885f5f5f5f5f5f 64 intel fcmovu st0, st0
-dad8|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVU F0, F0
-dae9|11223344556677885f5f5f5f5f5f 32 intel fucompp st0, st1
-dae9|11223344556677885f5f5f5f5f5f 32 plan9 FUCOMPP
-dae9|11223344556677885f5f5f5f5f5f 64 gnu fucompp
-dae9|11223344556677885f5f5f5f5f5f 64 intel fucompp st0, st1
-dae9|11223344556677885f5f5f5f5f5f 64 plan9 FUCOMPP
-db00|11223344556677885f5f5f5f5f5f 32 intel fild st0, dword ptr [eax]
-db00|11223344556677885f5f5f5f5f5f 32 plan9 FILD 0(AX)
-db00|11223344556677885f5f5f5f5f5f 64 gnu fildl (%rax)
-db00|11223344556677885f5f5f5f5f5f 64 intel fild st0, dword ptr [rax]
-db00|11223344556677885f5f5f5f5f5f 64 plan9 FILD 0(AX)
-db08|11223344556677885f5f5f5f5f5f 32 intel fisttp dword ptr [eax], st0
-db08|11223344556677885f5f5f5f5f5f 32 plan9 FISTTP 0(AX)
-db08|11223344556677885f5f5f5f5f5f 64 gnu fisttpl (%rax)
-db08|11223344556677885f5f5f5f5f5f 64 intel fisttp dword ptr [rax], st0
-db08|11223344556677885f5f5f5f5f5f 64 plan9 FISTTP 0(AX)
-db11|223344556677885f5f5f5f5f5f5f 32 intel fist dword ptr [ecx], st0
-db11|223344556677885f5f5f5f5f5f5f 32 plan9 FIST 0(CX)
-db11|223344556677885f5f5f5f5f5f5f 64 gnu fistl (%rcx)
-db11|223344556677885f5f5f5f5f5f5f 64 intel fist dword ptr [rcx], st0
-db11|223344556677885f5f5f5f5f5f5f 64 plan9 FIST 0(CX)
-db18|11223344556677885f5f5f5f5f5f 32 intel fistp dword ptr [eax], st0
-db18|11223344556677885f5f5f5f5f5f 32 plan9 FISTP 0(AX)
-db18|11223344556677885f5f5f5f5f5f 64 gnu fistpl (%rax)
-db18|11223344556677885f5f5f5f5f5f 64 intel fistp dword ptr [rax], st0
-db18|11223344556677885f5f5f5f5f5f 64 plan9 FISTP 0(AX)
-db28|11223344556677885f5f5f5f5f5f 32 intel fld st0, ptr [eax]
-db28|11223344556677885f5f5f5f5f5f 32 plan9 FLD 0(AX)
-db28|11223344556677885f5f5f5f5f5f 64 gnu fldt (%rax)
-db28|11223344556677885f5f5f5f5f5f 64 intel fld st0, ptr [rax]
-db28|11223344556677885f5f5f5f5f5f 64 plan9 FLD 0(AX)
-db38|11223344556677885f5f5f5f5f5f 32 intel fstp ptr [eax], st0
-db38|11223344556677885f5f5f5f5f5f 32 plan9 FSTP 0(AX)
-db38|11223344556677885f5f5f5f5f5f 64 gnu fstpt (%rax)
-db38|11223344556677885f5f5f5f5f5f 64 intel fstp ptr [rax], st0
-db38|11223344556677885f5f5f5f5f5f 64 plan9 FSTP 0(AX)
-dbc0|11223344556677885f5f5f5f5f5f 32 intel fcmovnb st0, st0
-dbc0|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVNB F0, F0
-dbc0|11223344556677885f5f5f5f5f5f 64 gnu fcmovnb %st,%st
-dbc0|11223344556677885f5f5f5f5f5f 64 intel fcmovnb st0, st0
-dbc0|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVNB F0, F0
-dbc8|11223344556677885f5f5f5f5f5f 32 intel fcmovne st0, st0
-dbc8|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVNE F0, F0
-dbc8|11223344556677885f5f5f5f5f5f 64 gnu fcmovne %st,%st
-dbc8|11223344556677885f5f5f5f5f5f 64 intel fcmovne st0, st0
-dbc8|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVNE F0, F0
-dbd0|11223344556677885f5f5f5f5f5f 32 intel fcmovnbe st0, st0
-dbd0|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVNBE F0, F0
-dbd0|11223344556677885f5f5f5f5f5f 64 gnu fcmovnbe %st,%st
-dbd0|11223344556677885f5f5f5f5f5f 64 intel fcmovnbe st0, st0
-dbd0|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVNBE F0, F0
-dbd8|11223344556677885f5f5f5f5f5f 32 intel fcmovnu st0, st0
-dbd8|11223344556677885f5f5f5f5f5f 32 plan9 FCMOVNU F0, F0
-dbd8|11223344556677885f5f5f5f5f5f 64 gnu fcmovnu %st,%st
-dbd8|11223344556677885f5f5f5f5f5f 64 intel fcmovnu st0, st0
-dbd8|11223344556677885f5f5f5f5f5f 64 plan9 FCMOVNU F0, F0
-dbe2|11223344556677885f5f5f5f5f5f 32 intel fnclex
-dbe2|11223344556677885f5f5f5f5f5f 32 plan9 FNCLEX
-dbe2|11223344556677885f5f5f5f5f5f 64 gnu fnclex
-dbe2|11223344556677885f5f5f5f5f5f 64 intel fnclex
-dbe2|11223344556677885f5f5f5f5f5f 64 plan9 FNCLEX
-dbe3|11223344556677885f5f5f5f5f5f 32 intel fninit
-dbe3|11223344556677885f5f5f5f5f5f 32 plan9 FNINIT
-dbe3|11223344556677885f5f5f5f5f5f 64 gnu fninit
-dbe3|11223344556677885f5f5f5f5f5f 64 intel fninit
-dbe3|11223344556677885f5f5f5f5f5f 64 plan9 FNINIT
-dbe8|11223344556677885f5f5f5f5f5f 32 intel fucomi st0, st0
-dbe8|11223344556677885f5f5f5f5f5f 32 plan9 FUCOMI F0, F0
-dbe8|11223344556677885f5f5f5f5f5f 64 gnu fucomi %st,%st
-dbe8|11223344556677885f5f5f5f5f5f 64 intel fucomi st0, st0
-dbe8|11223344556677885f5f5f5f5f5f 64 plan9 FUCOMI F0, F0
-dbf0|11223344556677885f5f5f5f5f5f 32 intel fcomi st0, st0
-dbf0|11223344556677885f5f5f5f5f5f 32 plan9 FCOMI F0, F0
-dbf0|11223344556677885f5f5f5f5f5f 64 gnu fcomi %st,%st
-dbf0|11223344556677885f5f5f5f5f5f 64 intel fcomi st0, st0
-dbf0|11223344556677885f5f5f5f5f5f 64 plan9 FCOMI F0, F0
-dc00|11223344556677885f5f5f5f5f5f 32 intel fadd st0, qword ptr [eax]
-dc00|11223344556677885f5f5f5f5f5f 32 plan9 FADD 0(AX)
-dc00|11223344556677885f5f5f5f5f5f 64 gnu faddl (%rax)
-dc00|11223344556677885f5f5f5f5f5f 64 intel fadd st0, qword ptr [rax]
-dc00|11223344556677885f5f5f5f5f5f 64 plan9 FADD 0(AX)
-dc08|11223344556677885f5f5f5f5f5f 32 intel fmul st0, qword ptr [eax]
-dc08|11223344556677885f5f5f5f5f5f 32 plan9 FMUL 0(AX)
-dc08|11223344556677885f5f5f5f5f5f 64 gnu fmull (%rax)
-dc08|11223344556677885f5f5f5f5f5f 64 intel fmul st0, qword ptr [rax]
-dc08|11223344556677885f5f5f5f5f5f 64 plan9 FMUL 0(AX)
-dc11|223344556677885f5f5f5f5f5f5f 32 intel fcom st0, qword ptr [ecx]
-dc11|223344556677885f5f5f5f5f5f5f 32 plan9 FCOM 0(CX)
-dc11|223344556677885f5f5f5f5f5f5f 64 gnu fcoml (%rcx)
-dc11|223344556677885f5f5f5f5f5f5f 64 intel fcom st0, qword ptr [rcx]
-dc11|223344556677885f5f5f5f5f5f5f 64 plan9 FCOM 0(CX)
-dc18|11223344556677885f5f5f5f5f5f 32 intel fcomp st0, qword ptr [eax]
-dc18|11223344556677885f5f5f5f5f5f 32 plan9 FCOMP 0(AX)
-dc18|11223344556677885f5f5f5f5f5f 64 gnu fcompl (%rax)
-dc18|11223344556677885f5f5f5f5f5f 64 intel fcomp st0, qword ptr [rax]
-dc18|11223344556677885f5f5f5f5f5f 64 plan9 FCOMP 0(AX)
-dc20|11223344556677885f5f5f5f5f5f 32 intel fsub st0, qword ptr [eax]
-dc20|11223344556677885f5f5f5f5f5f 32 plan9 FSUB 0(AX)
-dc20|11223344556677885f5f5f5f5f5f 64 gnu fsubl (%rax)
-dc20|11223344556677885f5f5f5f5f5f 64 intel fsub st0, qword ptr [rax]
-dc20|11223344556677885f5f5f5f5f5f 64 plan9 FSUB 0(AX)
-dc28|11223344556677885f5f5f5f5f5f 32 intel fsubr st0, qword ptr [eax]
-dc28|11223344556677885f5f5f5f5f5f 32 plan9 FSUBR 0(AX)
-dc28|11223344556677885f5f5f5f5f5f 64 gnu fsubrl (%rax)
-dc28|11223344556677885f5f5f5f5f5f 64 intel fsubr st0, qword ptr [rax]
-dc28|11223344556677885f5f5f5f5f5f 64 plan9 FSUBR 0(AX)
-dc30|11223344556677885f5f5f5f5f5f 32 intel fdiv st0, qword ptr [eax]
-dc30|11223344556677885f5f5f5f5f5f 32 plan9 FDIV 0(AX)
-dc30|11223344556677885f5f5f5f5f5f 64 gnu fdivl (%rax)
-dc30|11223344556677885f5f5f5f5f5f 64 intel fdiv st0, qword ptr [rax]
-dc30|11223344556677885f5f5f5f5f5f 64 plan9 FDIV 0(AX)
-dc38|11223344556677885f5f5f5f5f5f 32 intel fdivr st0, qword ptr [eax]
-dc38|11223344556677885f5f5f5f5f5f 32 plan9 FDIVR 0(AX)
-dc38|11223344556677885f5f5f5f5f5f 64 gnu fdivrl (%rax)
-dc38|11223344556677885f5f5f5f5f5f 64 intel fdivr st0, qword ptr [rax]
-dc38|11223344556677885f5f5f5f5f5f 64 plan9 FDIVR 0(AX)
-dcc0|11223344556677885f5f5f5f5f5f 32 intel fadd st0, st0
-dcc0|11223344556677885f5f5f5f5f5f 32 plan9 FADD F0, F0
-dcc0|11223344556677885f5f5f5f5f5f 64 gnu fadd %st,%st
-dcc0|11223344556677885f5f5f5f5f5f 64 intel fadd st0, st0
-dcc0|11223344556677885f5f5f5f5f5f 64 plan9 FADD F0, F0
-dcc8|11223344556677885f5f5f5f5f5f 32 intel fmul st0, st0
-dcc8|11223344556677885f5f5f5f5f5f 32 plan9 FMUL F0, F0
-dcc8|11223344556677885f5f5f5f5f5f 64 gnu fmul %st,%st
-dcc8|11223344556677885f5f5f5f5f5f 64 intel fmul st0, st0
-dcc8|11223344556677885f5f5f5f5f5f 64 plan9 FMUL F0, F0
-dce0|11223344556677885f5f5f5f5f5f 32 intel fsubr st0, st0
-dce0|11223344556677885f5f5f5f5f5f 32 plan9 FSUBR F0, F0
-dce0|11223344556677885f5f5f5f5f5f 64 gnu fsub %st,%st
-dce0|11223344556677885f5f5f5f5f5f 64 intel fsubr st0, st0
-dce0|11223344556677885f5f5f5f5f5f 64 plan9 FSUBR F0, F0
-dce8|11223344556677885f5f5f5f5f5f 32 intel fsub st0, st0
-dce8|11223344556677885f5f5f5f5f5f 32 plan9 FSUB F0, F0
-dce8|11223344556677885f5f5f5f5f5f 64 gnu fsubr %st,%st
-dce8|11223344556677885f5f5f5f5f5f 64 intel fsub st0, st0
-dce8|11223344556677885f5f5f5f5f5f 64 plan9 FSUB F0, F0
-dcf0|11223344556677885f5f5f5f5f5f 32 intel fdivr st0, st0
-dcf0|11223344556677885f5f5f5f5f5f 32 plan9 FDIVR F0, F0
-dcf0|11223344556677885f5f5f5f5f5f 64 gnu fdiv %st,%st
-dcf0|11223344556677885f5f5f5f5f5f 64 intel fdivr st0, st0
-dcf0|11223344556677885f5f5f5f5f5f 64 plan9 FDIVR F0, F0
-dcf8|11223344556677885f5f5f5f5f5f 32 intel fdiv st0, st0
-dcf8|11223344556677885f5f5f5f5f5f 32 plan9 FDIV F0, F0
-dcf8|11223344556677885f5f5f5f5f5f 64 gnu fdivr %st,%st
-dcf8|11223344556677885f5f5f5f5f5f 64 intel fdiv st0, st0
-dcf8|11223344556677885f5f5f5f5f5f 64 plan9 FDIV F0, F0
-dd00|11223344556677885f5f5f5f5f5f 32 intel fld st0, qword ptr [eax]
-dd00|11223344556677885f5f5f5f5f5f 32 plan9 FLD 0(AX)
-dd00|11223344556677885f5f5f5f5f5f 64 gnu fldl (%rax)
-dd00|11223344556677885f5f5f5f5f5f 64 intel fld st0, qword ptr [rax]
-dd00|11223344556677885f5f5f5f5f5f 64 plan9 FLD 0(AX)
-dd08|11223344556677885f5f5f5f5f5f 32 intel fisttp qword ptr [eax], st0
-dd08|11223344556677885f5f5f5f5f5f 32 plan9 FISTTP 0(AX)
-dd08|11223344556677885f5f5f5f5f5f 64 gnu fisttpll (%rax)
-dd08|11223344556677885f5f5f5f5f5f 64 intel fisttp qword ptr [rax], st0
-dd08|11223344556677885f5f5f5f5f5f 64 plan9 FISTTP 0(AX)
-dd11|223344556677885f5f5f5f5f5f5f 32 intel fst qword ptr [ecx], st0
-dd11|223344556677885f5f5f5f5f5f5f 32 plan9 FST 0(CX)
-dd11|223344556677885f5f5f5f5f5f5f 64 gnu fstl (%rcx)
-dd11|223344556677885f5f5f5f5f5f5f 64 intel fst qword ptr [rcx], st0
-dd11|223344556677885f5f5f5f5f5f5f 64 plan9 FST 0(CX)
-dd18|11223344556677885f5f5f5f5f5f 32 intel fstp qword ptr [eax], st0
-dd18|11223344556677885f5f5f5f5f5f 32 plan9 FSTP 0(AX)
-dd18|11223344556677885f5f5f5f5f5f 64 gnu fstpl (%rax)
-dd18|11223344556677885f5f5f5f5f5f 64 intel fstp qword ptr [rax], st0
-dd18|11223344556677885f5f5f5f5f5f 64 plan9 FSTP 0(AX)
-dd20|11223344556677885f5f5f5f5f5f 32 intel frstor ptr [eax]
-dd20|11223344556677885f5f5f5f5f5f 32 plan9 FRSTORL 0(AX)
-dd20|11223344556677885f5f5f5f5f5f 64 gnu frstor (%rax)
-dd20|11223344556677885f5f5f5f5f5f 64 intel frstor ptr [rax]
-dd20|11223344556677885f5f5f5f5f5f 64 plan9 FRSTORL 0(AX)
-dd30|11223344556677885f5f5f5f5f5f 32 intel fnsave ptr [eax]
-dd30|11223344556677885f5f5f5f5f5f 32 plan9 FNSAVE 0(AX)
-dd30|11223344556677885f5f5f5f5f5f 64 gnu fnsave (%rax)
-dd30|11223344556677885f5f5f5f5f5f 64 intel fnsave ptr [rax]
-dd30|11223344556677885f5f5f5f5f5f 64 plan9 FNSAVE 0(AX)
-dd38|11223344556677885f5f5f5f5f5f 32 intel fnstsw word ptr [eax]
-dd38|11223344556677885f5f5f5f5f5f 32 plan9 FNSTSW 0(AX)
-dd38|11223344556677885f5f5f5f5f5f 64 gnu fnstsw (%rax)
-dd38|11223344556677885f5f5f5f5f5f 64 intel fnstsw word ptr [rax]
-dd38|11223344556677885f5f5f5f5f5f 64 plan9 FNSTSW 0(AX)
-ddc0|11223344556677885f5f5f5f5f5f 32 intel ffree st0
-ddc0|11223344556677885f5f5f5f5f5f 32 plan9 FFREE F0
-ddc0|11223344556677885f5f5f5f5f5f 64 gnu ffree %st
-ddc0|11223344556677885f5f5f5f5f5f 64 intel ffree st0
-ddc0|11223344556677885f5f5f5f5f5f 64 plan9 FFREE F0
-ddd0|11223344556677885f5f5f5f5f5f 32 intel fst st0, st0
-ddd0|11223344556677885f5f5f5f5f5f 32 plan9 FST F0
-ddd0|11223344556677885f5f5f5f5f5f 64 gnu fst %st
-ddd0|11223344556677885f5f5f5f5f5f 64 intel fst st0, st0
-ddd0|11223344556677885f5f5f5f5f5f 64 plan9 FST F0
-ddd8|11223344556677885f5f5f5f5f5f 32 intel fstp st0, st0
-ddd8|11223344556677885f5f5f5f5f5f 32 plan9 FSTP F0
-ddd8|11223344556677885f5f5f5f5f5f 64 gnu fstp %st
-ddd8|11223344556677885f5f5f5f5f5f 64 intel fstp st0, st0
-ddd8|11223344556677885f5f5f5f5f5f 64 plan9 FSTP F0
-dde0|11223344556677885f5f5f5f5f5f 32 intel fucom st0, st0
-dde0|11223344556677885f5f5f5f5f5f 32 plan9 FUCOM F0
-dde0|11223344556677885f5f5f5f5f5f 64 gnu fucom %st
-dde0|11223344556677885f5f5f5f5f5f 64 intel fucom st0, st0
-dde0|11223344556677885f5f5f5f5f5f 64 plan9 FUCOM F0
-dde8|11223344556677885f5f5f5f5f5f 32 intel fucomp st0, st0
-dde8|11223344556677885f5f5f5f5f5f 32 plan9 FUCOMP F0
-dde8|11223344556677885f5f5f5f5f5f 64 gnu fucomp %st
-dde8|11223344556677885f5f5f5f5f5f 64 intel fucomp st0, st0
-dde8|11223344556677885f5f5f5f5f5f 64 plan9 FUCOMP F0
-de00|11223344556677885f5f5f5f5f5f 32 intel fiadd st0, word ptr [eax]
-de00|11223344556677885f5f5f5f5f5f 32 plan9 FIADD 0(AX)
-de00|11223344556677885f5f5f5f5f5f 64 gnu fiadd (%rax)
-de00|11223344556677885f5f5f5f5f5f 64 intel fiadd st0, word ptr [rax]
-de00|11223344556677885f5f5f5f5f5f 64 plan9 FIADD 0(AX)
-de08|11223344556677885f5f5f5f5f5f 32 intel fimul st0, word ptr [eax]
-de08|11223344556677885f5f5f5f5f5f 32 plan9 FIMUL 0(AX)
-de08|11223344556677885f5f5f5f5f5f 64 gnu fimul (%rax)
-de08|11223344556677885f5f5f5f5f5f 64 intel fimul st0, word ptr [rax]
-de08|11223344556677885f5f5f5f5f5f 64 plan9 FIMUL 0(AX)
-de11|223344556677885f5f5f5f5f5f5f 32 intel ficom st0, word ptr [ecx]
-de11|223344556677885f5f5f5f5f5f5f 32 plan9 FICOM 0(CX)
-de11|223344556677885f5f5f5f5f5f5f 64 gnu ficom (%rcx)
-de11|223344556677885f5f5f5f5f5f5f 64 intel ficom st0, word ptr [rcx]
-de11|223344556677885f5f5f5f5f5f5f 64 plan9 FICOM 0(CX)
-de18|11223344556677885f5f5f5f5f5f 32 intel ficomp st0, word ptr [eax]
-de18|11223344556677885f5f5f5f5f5f 32 plan9 FICOMP 0(AX)
-de18|11223344556677885f5f5f5f5f5f 64 gnu ficomp (%rax)
-de18|11223344556677885f5f5f5f5f5f 64 intel ficomp st0, word ptr [rax]
-de18|11223344556677885f5f5f5f5f5f 64 plan9 FICOMP 0(AX)
-de20|11223344556677885f5f5f5f5f5f 32 intel fisub st0, word ptr [eax]
-de20|11223344556677885f5f5f5f5f5f 32 plan9 FISUB 0(AX)
-de20|11223344556677885f5f5f5f5f5f 64 gnu fisub (%rax)
-de20|11223344556677885f5f5f5f5f5f 64 intel fisub st0, word ptr [rax]
-de20|11223344556677885f5f5f5f5f5f 64 plan9 FISUB 0(AX)
-de28|11223344556677885f5f5f5f5f5f 32 intel fisubr st0, word ptr [eax]
-de28|11223344556677885f5f5f5f5f5f 32 plan9 FISUBR 0(AX)
-de28|11223344556677885f5f5f5f5f5f 64 gnu fisubr (%rax)
-de28|11223344556677885f5f5f5f5f5f 64 intel fisubr st0, word ptr [rax]
-de28|11223344556677885f5f5f5f5f5f 64 plan9 FISUBR 0(AX)
-de30|11223344556677885f5f5f5f5f5f 32 intel fidiv st0, word ptr [eax]
-de30|11223344556677885f5f5f5f5f5f 32 plan9 FIDIV 0(AX)
-de30|11223344556677885f5f5f5f5f5f 64 gnu fidiv (%rax)
-de30|11223344556677885f5f5f5f5f5f 64 intel fidiv st0, word ptr [rax]
-de30|11223344556677885f5f5f5f5f5f 64 plan9 FIDIV 0(AX)
-de38|11223344556677885f5f5f5f5f5f 32 intel fidivr st0, word ptr [eax]
-de38|11223344556677885f5f5f5f5f5f 32 plan9 FIDIVR 0(AX)
-de38|11223344556677885f5f5f5f5f5f 64 gnu fidivr (%rax)
-de38|11223344556677885f5f5f5f5f5f 64 intel fidivr st0, word ptr [rax]
-de38|11223344556677885f5f5f5f5f5f 64 plan9 FIDIVR 0(AX)
-dec0|11223344556677885f5f5f5f5f5f 32 intel faddp st0, st0
-dec0|11223344556677885f5f5f5f5f5f 32 plan9 FADDP F0, F0
-dec0|11223344556677885f5f5f5f5f5f 64 gnu faddp %st,%st
-dec0|11223344556677885f5f5f5f5f5f 64 intel faddp st0, st0
-dec0|11223344556677885f5f5f5f5f5f 64 plan9 FADDP F0, F0
-dec8|11223344556677885f5f5f5f5f5f 32 intel fmulp st0, st0
-dec8|11223344556677885f5f5f5f5f5f 32 plan9 FMULP F0, F0
-dec8|11223344556677885f5f5f5f5f5f 64 gnu fmulp %st,%st
-dec8|11223344556677885f5f5f5f5f5f 64 intel fmulp st0, st0
-dec8|11223344556677885f5f5f5f5f5f 64 plan9 FMULP F0, F0
-ded9|11223344556677885f5f5f5f5f5f 32 intel fcompp st0, st1
-ded9|11223344556677885f5f5f5f5f5f 32 plan9 FCOMPP
-ded9|11223344556677885f5f5f5f5f5f 64 gnu fcompp
-ded9|11223344556677885f5f5f5f5f5f 64 intel fcompp st0, st1
-ded9|11223344556677885f5f5f5f5f5f 64 plan9 FCOMPP
-dee0|11223344556677885f5f5f5f5f5f 32 intel fsubrp st0, st0
-dee0|11223344556677885f5f5f5f5f5f 32 plan9 FSUBRP F0, F0
-dee0|11223344556677885f5f5f5f5f5f 64 gnu fsubp %st,%st
-dee0|11223344556677885f5f5f5f5f5f 64 intel fsubrp st0, st0
-dee0|11223344556677885f5f5f5f5f5f 64 plan9 FSUBRP F0, F0
-dee8|11223344556677885f5f5f5f5f5f 32 intel fsubp st0, st0
-dee8|11223344556677885f5f5f5f5f5f 32 plan9 FSUBP F0, F0
-dee8|11223344556677885f5f5f5f5f5f 64 gnu fsubrp %st,%st
-dee8|11223344556677885f5f5f5f5f5f 64 intel fsubp st0, st0
-dee8|11223344556677885f5f5f5f5f5f 64 plan9 FSUBP F0, F0
-def0|11223344556677885f5f5f5f5f5f 32 intel fdivrp st0, st0
-def0|11223344556677885f5f5f5f5f5f 32 plan9 FDIVRP F0, F0
-def0|11223344556677885f5f5f5f5f5f 64 gnu fdivp %st,%st
-def0|11223344556677885f5f5f5f5f5f 64 intel fdivrp st0, st0
-def0|11223344556677885f5f5f5f5f5f 64 plan9 FDIVRP F0, F0
-def8|11223344556677885f5f5f5f5f5f 32 intel fdivp st0, st0
-def8|11223344556677885f5f5f5f5f5f 32 plan9 FDIVP F0, F0
-def8|11223344556677885f5f5f5f5f5f 64 gnu fdivrp %st,%st
-def8|11223344556677885f5f5f5f5f5f 64 intel fdivp st0, st0
-def8|11223344556677885f5f5f5f5f5f 64 plan9 FDIVP F0, F0
-df00|11223344556677885f5f5f5f5f5f 32 intel fild st0, word ptr [eax]
-df00|11223344556677885f5f5f5f5f5f 32 plan9 FILD 0(AX)
-df00|11223344556677885f5f5f5f5f5f 64 gnu fild (%rax)
-df00|11223344556677885f5f5f5f5f5f 64 intel fild st0, word ptr [rax]
-df00|11223344556677885f5f5f5f5f5f 64 plan9 FILD 0(AX)
-df08|11223344556677885f5f5f5f5f5f 32 intel fisttp word ptr [eax], st0
-df08|11223344556677885f5f5f5f5f5f 32 plan9 FISTTP 0(AX)
-df08|11223344556677885f5f5f5f5f5f 64 gnu fisttp (%rax)
-df08|11223344556677885f5f5f5f5f5f 64 intel fisttp word ptr [rax], st0
-df08|11223344556677885f5f5f5f5f5f 64 plan9 FISTTP 0(AX)
-df11|223344556677885f5f5f5f5f5f5f 32 intel fist word ptr [ecx], st0
-df11|223344556677885f5f5f5f5f5f5f 32 plan9 FIST 0(CX)
-df11|223344556677885f5f5f5f5f5f5f 64 gnu fist (%rcx)
-df11|223344556677885f5f5f5f5f5f5f 64 intel fist word ptr [rcx], st0
-df11|223344556677885f5f5f5f5f5f5f 64 plan9 FIST 0(CX)
-df18|11223344556677885f5f5f5f5f5f 32 intel fistp word ptr [eax], st0
-df18|11223344556677885f5f5f5f5f5f 32 plan9 FISTP 0(AX)
-df18|11223344556677885f5f5f5f5f5f 64 gnu fistp (%rax)
-df18|11223344556677885f5f5f5f5f5f 64 intel fistp word ptr [rax], st0
-df18|11223344556677885f5f5f5f5f5f 64 plan9 FISTP 0(AX)
-df20|11223344556677885f5f5f5f5f5f 32 intel fbld st0, ptr [eax]
-df20|11223344556677885f5f5f5f5f5f 32 plan9 FBLD 0(AX)
-df20|11223344556677885f5f5f5f5f5f 64 gnu fbld (%rax)
-df20|11223344556677885f5f5f5f5f5f 64 intel fbld st0, ptr [rax]
-df20|11223344556677885f5f5f5f5f5f 64 plan9 FBLD 0(AX)
-df28|11223344556677885f5f5f5f5f5f 32 intel fild st0, qword ptr [eax]
-df28|11223344556677885f5f5f5f5f5f 32 plan9 FILD 0(AX)
-df28|11223344556677885f5f5f5f5f5f 64 gnu fildll (%rax)
-df28|11223344556677885f5f5f5f5f5f 64 intel fild st0, qword ptr [rax]
-df28|11223344556677885f5f5f5f5f5f 64 plan9 FILD 0(AX)
-df30|11223344556677885f5f5f5f5f5f 32 intel fbstp ptr [eax], st0
-df30|11223344556677885f5f5f5f5f5f 32 plan9 FBSTP 0(AX)
-df30|11223344556677885f5f5f5f5f5f 64 gnu fbstp (%rax)
-df30|11223344556677885f5f5f5f5f5f 64 intel fbstp ptr [rax], st0
-df30|11223344556677885f5f5f5f5f5f 64 plan9 FBSTP 0(AX)
-df38|11223344556677885f5f5f5f5f5f 32 intel fistp qword ptr [eax], st0
-df38|11223344556677885f5f5f5f5f5f 32 plan9 FISTP 0(AX)
-df38|11223344556677885f5f5f5f5f5f 64 gnu fistpll (%rax)
-df38|11223344556677885f5f5f5f5f5f 64 intel fistp qword ptr [rax], st0
-df38|11223344556677885f5f5f5f5f5f 64 plan9 FISTP 0(AX)
-dfc0|11223344556677885f5f5f5f5f5f 32 intel ffreep st0
-dfc0|11223344556677885f5f5f5f5f5f 32 plan9 FFREEP F0
-dfc0|11223344556677885f5f5f5f5f5f 64 gnu ffreep %st
-dfc0|11223344556677885f5f5f5f5f5f 64 intel ffreep st0
-dfc0|11223344556677885f5f5f5f5f5f 64 plan9 FFREEP F0
-dfe0|11223344556677885f5f5f5f5f5f 32 intel fnstsw ax
-dfe0|11223344556677885f5f5f5f5f5f 32 plan9 FNSTSW AX
-dfe0|11223344556677885f5f5f5f5f5f 64 gnu fnstsw %ax
-dfe0|11223344556677885f5f5f5f5f5f 64 intel fnstsw ax
-dfe0|11223344556677885f5f5f5f5f5f 64 plan9 FNSTSW AX
-dfe8|11223344556677885f5f5f5f5f5f 32 intel fucomip st0, st0
-dfe8|11223344556677885f5f5f5f5f5f 32 plan9 FUCOMIP F0, F0
-dfe8|11223344556677885f5f5f5f5f5f 64 gnu fucomip %st,%st
-dfe8|11223344556677885f5f5f5f5f5f 64 intel fucomip st0, st0
-dfe8|11223344556677885f5f5f5f5f5f 64 plan9 FUCOMIP F0, F0
-dff0|11223344556677885f5f5f5f5f5f 32 intel fcomip st0, st0
-dff0|11223344556677885f5f5f5f5f5f 32 plan9 FCOMIP F0, F0
-dff0|11223344556677885f5f5f5f5f5f 64 gnu fcomip %st,%st
-dff0|11223344556677885f5f5f5f5f5f 64 intel fcomip st0, st0
-dff0|11223344556677885f5f5f5f5f5f 64 plan9 FCOMIP F0, F0
-e111|223344556677885f5f5f5f5f5f5f 32 intel loope .+0x11
-e111|223344556677885f5f5f5f5f5f5f 32 plan9 LOOPE .+17
-e111|223344556677885f5f5f5f5f5f5f 64 gnu loope .+0x11
-e111|223344556677885f5f5f5f5f5f5f 64 intel loope .+0x11
-e111|223344556677885f5f5f5f5f5f5f 64 plan9 LOOPE .+17
-e211|223344556677885f5f5f5f5f5f5f 32 intel loop .+0x11
-e211|223344556677885f5f5f5f5f5f5f 32 plan9 LOOP .+17
-e211|223344556677885f5f5f5f5f5f5f 64 gnu loop .+0x11
-e211|223344556677885f5f5f5f5f5f5f 64 intel loop .+0x11
-e211|223344556677885f5f5f5f5f5f5f 64 plan9 LOOP .+17
-e311|223344556677885f5f5f5f5f5f5f 32 intel jecxz .+0x11
-e311|223344556677885f5f5f5f5f5f5f 32 plan9 JECXZ .+17
-e311|223344556677885f5f5f5f5f5f5f 64 gnu jrcxz .+0x11
-e311|223344556677885f5f5f5f5f5f5f 64 intel jrcxz .+0x11
-e311|223344556677885f5f5f5f5f5f5f 64 plan9 JRCXZ .+17
-e411|223344556677885f5f5f5f5f5f5f 32 intel in al, 0x11
-e411|223344556677885f5f5f5f5f5f5f 32 plan9 INL $0x11, AL
-e411|223344556677885f5f5f5f5f5f5f 64 gnu in $0x11,%al
-e411|223344556677885f5f5f5f5f5f5f 64 intel in al, 0x11
-e411|223344556677885f5f5f5f5f5f5f 64 plan9 INL $0x11, AL
-e511|223344556677885f5f5f5f5f5f5f 32 intel in eax, 0x11
-e511|223344556677885f5f5f5f5f5f5f 32 plan9 INL $0x11, AX
-e511|223344556677885f5f5f5f5f5f5f 64 gnu in $0x11,%eax
-e511|223344556677885f5f5f5f5f5f5f 64 intel in eax, 0x11
-e511|223344556677885f5f5f5f5f5f5f 64 plan9 INL $0x11, AX
-e611|223344556677885f5f5f5f5f5f5f 32 intel out 0x11, al
-e611|223344556677885f5f5f5f5f5f5f 32 plan9 OUTL AL, $0x11
-e611|223344556677885f5f5f5f5f5f5f 64 gnu out %al,$0x11
-e611|223344556677885f5f5f5f5f5f5f 64 intel out 0x11, al
-e611|223344556677885f5f5f5f5f5f5f 64 plan9 OUTL AL, $0x11
-e711|223344556677885f5f5f5f5f5f5f 32 intel out 0x11, eax
-e711|223344556677885f5f5f5f5f5f5f 32 plan9 OUTL AX, $0x11
-e711|223344556677885f5f5f5f5f5f5f 64 gnu out %eax,$0x11
-e711|223344556677885f5f5f5f5f5f5f 64 intel out 0x11, eax
-e711|223344556677885f5f5f5f5f5f5f 64 plan9 OUTL AX, $0x11
-e811223344|556677885f5f5f5f5f5f5f 32 intel call .+0x44332211
-e811223344|556677885f5f5f5f5f5f5f 32 plan9 CALL .+1144201745
-e811223344|556677885f5f5f5f5f5f5f 64 gnu callq .+0x44332211
-e811223344|556677885f5f5f5f5f5f5f 64 intel call .+0x44332211
-e811223344|556677885f5f5f5f5f5f5f 64 plan9 CALL .+1144201745
-e911223344|556677885f5f5f5f5f5f5f 32 intel jmp .+0x44332211
-e911223344|556677885f5f5f5f5f5f5f 32 plan9 JMP .+1144201745
-e911223344|556677885f5f5f5f5f5f5f 64 gnu jmpq .+0x44332211
-e911223344|556677885f5f5f5f5f5f5f 64 intel jmp .+0x44332211
-e911223344|556677885f5f5f5f5f5f5f 64 plan9 JMP .+1144201745
-ea112233445566|77885f5f5f5f5f5f5f 32 intel jmp far 0x44332211, 0x6655
-ea112233445566|77885f5f5f5f5f5f5f 32 plan9 LJMP $0x44332211, $0x6655
-eb11|223344556677885f5f5f5f5f5f5f 32 intel jmp .+0x11
-eb11|223344556677885f5f5f5f5f5f5f 32 plan9 JMP .+17
-eb11|223344556677885f5f5f5f5f5f5f 64 gnu jmp .+0x11
-eb11|223344556677885f5f5f5f5f5f5f 64 intel jmp .+0x11
-eb11|223344556677885f5f5f5f5f5f5f 64 plan9 JMP .+17
-ec|11223344556677885f5f5f5f5f5f5f 32 intel in al, dx
-ec|11223344556677885f5f5f5f5f5f5f 32 plan9 INL DX, AL
-ec|11223344556677885f5f5f5f5f5f5f 64 gnu in (%dx),%al
-ec|11223344556677885f5f5f5f5f5f5f 64 intel in al, dx
-ec|11223344556677885f5f5f5f5f5f5f 64 plan9 INL DX, AL
-ed|11223344556677885f5f5f5f5f5f5f 32 intel in eax, dx
-ed|11223344556677885f5f5f5f5f5f5f 32 plan9 INL DX, AX
-ed|11223344556677885f5f5f5f5f5f5f 64 gnu in (%dx),%eax
-ed|11223344556677885f5f5f5f5f5f5f 64 intel in eax, dx
-ed|11223344556677885f5f5f5f5f5f5f 64 plan9 INL DX, AX
-ee|11223344556677885f5f5f5f5f5f5f 32 intel out dx, al
-ee|11223344556677885f5f5f5f5f5f5f 32 plan9 OUTL AL, DX
-ee|11223344556677885f5f5f5f5f5f5f 64 gnu out %al,(%dx)
-ee|11223344556677885f5f5f5f5f5f5f 64 intel out dx, al
-ee|11223344556677885f5f5f5f5f5f5f 64 plan9 OUTL AL, DX
-ef|11223344556677885f5f5f5f5f5f5f 32 intel out dx, eax
-ef|11223344556677885f5f5f5f5f5f5f 32 plan9 OUTL AX, DX
-ef|11223344556677885f5f5f5f5f5f5f 64 gnu out %eax,(%dx)
-ef|11223344556677885f5f5f5f5f5f5f 64 intel out dx, eax
-ef|11223344556677885f5f5f5f5f5f5f 64 plan9 OUTL AX, DX
-f1|11223344556677885f5f5f5f5f5f5f 32 intel int1
-f1|11223344556677885f5f5f5f5f5f5f 32 plan9 ICEBP
-f1|11223344556677885f5f5f5f5f5f5f 64 gnu icebp
-f1|11223344556677885f5f5f5f5f5f5f 64 intel int1
-f1|11223344556677885f5f5f5f5f5f5f 64 plan9 ICEBP
-f20f1011|223344556677885f5f5f5f5f 32 intel movsd xmm2, qword ptr [ecx]
-f20f1011|223344556677885f5f5f5f5f 32 plan9 MOVSD_XMM 0(CX), X2
-f20f1011|223344556677885f5f5f5f5f 64 gnu movsd (%rcx),%xmm2
-f20f1011|223344556677885f5f5f5f5f 64 intel movsd xmm2, qword ptr [rcx]
-f20f1011|223344556677885f5f5f5f5f 64 plan9 MOVSD_XMM 0(CX), X2
-f20f1122|3344556677885f5f5f5f5f5f 32 intel movsd qword ptr [edx], xmm4
-f20f1122|3344556677885f5f5f5f5f5f 32 plan9 MOVSD_XMM X4, 0(DX)
-f20f1122|3344556677885f5f5f5f5f5f 64 gnu movsd %xmm4,(%rdx)
-f20f1122|3344556677885f5f5f5f5f5f 64 intel movsd qword ptr [rdx], xmm4
-f20f1122|3344556677885f5f5f5f5f5f 64 plan9 MOVSD_XMM X4, 0(DX)
-f20f1211|223344556677885f5f5f5f5f 32 intel movddup xmm2, qword ptr [ecx]
-f20f1211|223344556677885f5f5f5f5f 32 plan9 MOVDDUP 0(CX), X2
-f20f1211|223344556677885f5f5f5f5f 64 gnu movddup (%rcx),%xmm2
-f20f1211|223344556677885f5f5f5f5f 64 intel movddup xmm2, qword ptr [rcx]
-f20f1211|223344556677885f5f5f5f5f 64 plan9 MOVDDUP 0(CX), X2
-f20f2a11|223344556677885f5f5f5f5f 32 intel cvtsi2sd xmm2, dword ptr [ecx]
-f20f2a11|223344556677885f5f5f5f5f 32 plan9 CVTSI2SDL 0(CX), X2
-f20f2a11|223344556677885f5f5f5f5f 64 gnu cvtsi2sdl (%rcx),%xmm2
-f20f2a11|223344556677885f5f5f5f5f 64 intel cvtsi2sd xmm2, dword ptr [rcx]
-f20f2a11|223344556677885f5f5f5f5f 64 plan9 CVTSI2SDL 0(CX), X2
-f20f2c11|223344556677885f5f5f5f5f 32 intel cvttsd2si edx, qword ptr [ecx]
-f20f2c11|223344556677885f5f5f5f5f 32 plan9 CVTTSD2SIQ 0(CX), DX
-f20f2c11|223344556677885f5f5f5f5f 64 gnu cvttsd2si (%rcx),%edx
-f20f2c11|223344556677885f5f5f5f5f 64 intel cvttsd2si edx, qword ptr [rcx]
-f20f2c11|223344556677885f5f5f5f5f 64 plan9 CVTTSD2SIQ 0(CX), DX
-f20f2d11|223344556677885f5f5f5f5f 32 intel cvtsd2si edx, qword ptr [ecx]
-f20f2d11|223344556677885f5f5f5f5f 32 plan9 CVTSD2SIQ 0(CX), DX
-f20f2d11|223344556677885f5f5f5f5f 64 gnu cvtsd2si (%rcx),%edx
-f20f2d11|223344556677885f5f5f5f5f 64 intel cvtsd2si edx, qword ptr [rcx]
-f20f2d11|223344556677885f5f5f5f5f 64 plan9 CVTSD2SIQ 0(CX), DX
-f20f38f011|223344556677885f5f5f5f 32 intel crc32 edx, byte ptr [ecx]
-f20f38f011|223344556677885f5f5f5f 32 plan9 CRC32 0(CX), DX
-f20f38f011|223344556677885f5f5f5f 64 gnu crc32b (%rcx),%edx
-f20f38f011|223344556677885f5f5f5f 64 intel crc32 edx, byte ptr [rcx]
-f20f38f011|223344556677885f5f5f5f 64 plan9 CRC32 0(CX), DX
-f20f38f111|223344556677885f5f5f5f 32 intel crc32 edx, dword ptr [ecx]
-f20f38f111|223344556677885f5f5f5f 32 plan9 CRC32 0(CX), DX
-f20f38f111|223344556677885f5f5f5f 64 gnu crc32l (%rcx),%edx
-f20f38f111|223344556677885f5f5f5f 64 intel crc32 edx, dword ptr [rcx]
-f20f38f111|223344556677885f5f5f5f 64 plan9 CRC32 0(CX), DX
-f20f5111|223344556677885f5f5f5f5f 32 intel sqrtsd xmm2, qword ptr [ecx]
-f20f5111|223344556677885f5f5f5f5f 32 plan9 SQRTSD 0(CX), X2
-f20f5111|223344556677885f5f5f5f5f 64 gnu sqrtsd (%rcx),%xmm2
-f20f5111|223344556677885f5f5f5f5f 64 intel sqrtsd xmm2, qword ptr [rcx]
-f20f5111|223344556677885f5f5f5f5f 64 plan9 SQRTSD 0(CX), X2
-f20f5811|223344556677885f5f5f5f5f 32 intel addsd xmm2, qword ptr [ecx]
-f20f5811|223344556677885f5f5f5f5f 32 plan9 ADDSD 0(CX), X2
-f20f5811|223344556677885f5f5f5f5f 64 gnu addsd (%rcx),%xmm2
-f20f5811|223344556677885f5f5f5f5f 64 intel addsd xmm2, qword ptr [rcx]
-f20f5811|223344556677885f5f5f5f5f 64 plan9 ADDSD 0(CX), X2
-f20f5911|223344556677885f5f5f5f5f 32 intel mulsd xmm2, qword ptr [ecx]
-f20f5911|223344556677885f5f5f5f5f 32 plan9 MULSD 0(CX), X2
-f20f5911|223344556677885f5f5f5f5f 64 gnu mulsd (%rcx),%xmm2
-f20f5911|223344556677885f5f5f5f5f 64 intel mulsd xmm2, qword ptr [rcx]
-f20f5911|223344556677885f5f5f5f5f 64 plan9 MULSD 0(CX), X2
-f20f5a11|223344556677885f5f5f5f5f 32 intel cvtsd2ss xmm2, qword ptr [ecx]
-f20f5a11|223344556677885f5f5f5f5f 32 plan9 CVTSD2SS 0(CX), X2
-f20f5a11|223344556677885f5f5f5f5f 64 gnu cvtsd2ss (%rcx),%xmm2
-f20f5a11|223344556677885f5f5f5f5f 64 intel cvtsd2ss xmm2, qword ptr [rcx]
-f20f5a11|223344556677885f5f5f5f5f 64 plan9 CVTSD2SS 0(CX), X2
-f20f5c11|223344556677885f5f5f5f5f 32 intel subsd xmm2, qword ptr [ecx]
-f20f5c11|223344556677885f5f5f5f5f 32 plan9 SUBSD 0(CX), X2
-f20f5c11|223344556677885f5f5f5f5f 64 gnu subsd (%rcx),%xmm2
-f20f5c11|223344556677885f5f5f5f5f 64 intel subsd xmm2, qword ptr [rcx]
-f20f5c11|223344556677885f5f5f5f5f 64 plan9 SUBSD 0(CX), X2
-f20f5d11|223344556677885f5f5f5f5f 32 intel minsd xmm2, qword ptr [ecx]
-f20f5d11|223344556677885f5f5f5f5f 32 plan9 MINSD 0(CX), X2
-f20f5d11|223344556677885f5f5f5f5f 64 gnu minsd (%rcx),%xmm2
-f20f5d11|223344556677885f5f5f5f5f 64 intel minsd xmm2, qword ptr [rcx]
-f20f5d11|223344556677885f5f5f5f5f 64 plan9 MINSD 0(CX), X2
-f20f5e11|223344556677885f5f5f5f5f 32 intel divsd xmm2, qword ptr [ecx]
-f20f5e11|223344556677885f5f5f5f5f 32 plan9 DIVSD 0(CX), X2
-f20f5e11|223344556677885f5f5f5f5f 64 gnu divsd (%rcx),%xmm2
-f20f5e11|223344556677885f5f5f5f5f 64 intel divsd xmm2, qword ptr [rcx]
-f20f5e11|223344556677885f5f5f5f5f 64 plan9 DIVSD 0(CX), X2
-f20f5f11|223344556677885f5f5f5f5f 32 intel maxsd xmm2, qword ptr [ecx]
-f20f5f11|223344556677885f5f5f5f5f 32 plan9 MAXSD 0(CX), X2
-f20f5f11|223344556677885f5f5f5f5f 64 gnu maxsd (%rcx),%xmm2
-f20f5f11|223344556677885f5f5f5f5f 64 intel maxsd xmm2, qword ptr [rcx]
-f20f5f11|223344556677885f5f5f5f5f 64 plan9 MAXSD 0(CX), X2
-f20f701122|3344556677885f5f5f5f5f 32 intel pshuflw xmm2, xmmword ptr [ecx], 0x22
-f20f701122|3344556677885f5f5f5f5f 32 plan9 PSHUFLW $0x22, 0(CX), X2
-f20f701122|3344556677885f5f5f5f5f 64 gnu pshuflw $0x22,(%rcx),%xmm2
-f20f701122|3344556677885f5f5f5f5f 64 intel pshuflw xmm2, xmmword ptr [rcx], 0x22
-f20f701122|3344556677885f5f5f5f5f 64 plan9 PSHUFLW $0x22, 0(CX), X2
-f20f7c11|223344556677885f5f5f5f5f 32 intel haddps xmm2, xmmword ptr [ecx]
-f20f7c11|223344556677885f5f5f5f5f 32 plan9 HADDPS 0(CX), X2
-f20f7c11|223344556677885f5f5f5f5f 64 gnu haddps (%rcx),%xmm2
-f20f7c11|223344556677885f5f5f5f5f 64 intel haddps xmm2, xmmword ptr [rcx]
-f20f7c11|223344556677885f5f5f5f5f 64 plan9 HADDPS 0(CX), X2
-f20f7d11|223344556677885f5f5f5f5f 32 intel hsubps xmm2, xmmword ptr [ecx]
-f20f7d11|223344556677885f5f5f5f5f 32 plan9 HSUBPS 0(CX), X2
-f20f7d11|223344556677885f5f5f5f5f 64 gnu hsubps (%rcx),%xmm2
-f20f7d11|223344556677885f5f5f5f5f 64 intel hsubps xmm2, xmmword ptr [rcx]
-f20f7d11|223344556677885f5f5f5f5f 64 plan9 HSUBPS 0(CX), X2
-f20fc21122|3344556677885f5f5f5f5f 32 intel cmpsd_xmm xmm2, qword ptr [ecx], 0x22
-f20fc21122|3344556677885f5f5f5f5f 32 plan9 CMPSD_XMM $0x22, 0(CX), X2
-f20fc21122|3344556677885f5f5f5f5f 64 gnu cmpsd $0x22,(%rcx),%xmm2
-f20fc21122|3344556677885f5f5f5f5f 64 intel cmpsd_xmm xmm2, qword ptr [rcx], 0x22
-f20fc21122|3344556677885f5f5f5f5f 64 plan9 CMPSD_XMM $0x22, 0(CX), X2
-f20fd011|223344556677885f5f5f5f5f 32 intel addsubps xmm2, xmmword ptr [ecx]
-f20fd011|223344556677885f5f5f5f5f 32 plan9 ADDSUBPS 0(CX), X2
-f20fd011|223344556677885f5f5f5f5f 64 gnu addsubps (%rcx),%xmm2
-f20fd011|223344556677885f5f5f5f5f 64 intel addsubps xmm2, xmmword ptr [rcx]
-f20fd011|223344556677885f5f5f5f5f 64 plan9 ADDSUBPS 0(CX), X2
-f20fd6c0|11223344556677885f5f5f5f 32 intel movdq2q mmx0, xmm0
-f20fd6c0|11223344556677885f5f5f5f 32 plan9 MOVDQ2Q X0, M0
-f20fd6c0|11223344556677885f5f5f5f 64 gnu movdq2q %xmm0,%mm0
-f20fd6c0|11223344556677885f5f5f5f 64 intel movdq2q mmx0, xmm0
-f20fd6c0|11223344556677885f5f5f5f 64 plan9 MOVDQ2Q X0, M0
-f20fe611|223344556677885f5f5f5f5f 32 intel cvtpd2dq xmm2, xmmword ptr [ecx]
-f20fe611|223344556677885f5f5f5f5f 32 plan9 CVTPD2DQ 0(CX), X2
-f20fe611|223344556677885f5f5f5f5f 64 gnu cvtpd2dq (%rcx),%xmm2
-f20fe611|223344556677885f5f5f5f5f 64 intel cvtpd2dq xmm2, xmmword ptr [rcx]
-f20fe611|223344556677885f5f5f5f5f 64 plan9 CVTPD2DQ 0(CX), X2
-f20ff011|223344556677885f5f5f5f5f 32 intel lddqu xmm2, xmmword ptr [ecx]
-f20ff011|223344556677885f5f5f5f5f 32 plan9 LDDQU 0(CX), X2
-f20ff011|223344556677885f5f5f5f5f 64 gnu lddqu (%rcx),%xmm2
-f20ff011|223344556677885f5f5f5f5f 64 intel lddqu xmm2, xmmword ptr [rcx]
-f20ff011|223344556677885f5f5f5f5f 64 plan9 LDDQU 0(CX), X2
-f2480f2a11|223344556677885f5f5f5f 64 gnu cvtsi2sdq (%rcx),%xmm2
-f2480f2a11|223344556677885f5f5f5f 64 intel cvtsi2sd xmm2, qword ptr [rcx]
-f2480f2a11|223344556677885f5f5f5f 64 plan9 CVTSI2SDQ 0(CX), X2
-f2480f2c11|223344556677885f5f5f5f 64 gnu cvttsd2si (%rcx),%rdx
-f2480f2c11|223344556677885f5f5f5f 64 intel cvttsd2si rdx, qword ptr [rcx]
-f2480f2c11|223344556677885f5f5f5f 64 plan9 CVTTSD2SIQ 0(CX), DX
-f2480f2d11|223344556677885f5f5f5f 64 gnu cvtsd2si (%rcx),%rdx
-f2480f2d11|223344556677885f5f5f5f 64 intel cvtsd2si rdx, qword ptr [rcx]
-f2480f2d11|223344556677885f5f5f5f 64 plan9 CVTSD2SIQ 0(CX), DX
-f2480f38f011|223344556677885f5f5f 64 gnu crc32b (%rcx),%rdx
-f2480f38f011|223344556677885f5f5f 64 intel crc32 rdx, byte ptr [rcx]
-f2480f38f011|223344556677885f5f5f 64 plan9 CRC32 0(CX), DX
-f2480f38f111|223344556677885f5f5f 64 gnu crc32q (%rcx),%rdx
-f2480f38f111|223344556677885f5f5f 64 intel crc32 rdx, qword ptr [rcx]
-f2480f38f111|223344556677885f5f5f 64 plan9 CRC32 0(CX), DX
-f267f0663e360f38f111|223344556677 32 intel lock crc32 edx, word ptr ss:[bx+di*1]
-f267f0663e360f38f111|223344556677 32 plan9 DS CRC32 SS:0(BX)(DI*1), DX
-f267f0663e360f38f111|223344556677 64 gnu lock crc32w %ds:%ss:(%ecx),%edx
-f267f0663e360f38f111|223344556677 64 intel lock crc32 edx, word ptr [ecx]
-f267f0663e360f38f111|223344556677 64 plan9 SS CRC32 0(CX), DX
-f2f30f2b11|5f5f5f5f5f5f5f5f5f5f5f 32 intel movntss dword ptr [ecx], xmm2
-f2f30f2b11|5f5f5f5f5f5f5f5f5f5f5f 32 plan9 REPNE; MOVNTSS X2, 0(CX)
-f2f30f2b11|5f5f5f5f5f5f5f5f5f5f5f 64 gnu repn movntss %xmm2,(%rcx)
-f2f30f2b11|5f5f5f5f5f5f5f5f5f5f5f 64 intel movntss dword ptr [rcx], xmm2
-f2f30f2b11|5f5f5f5f5f5f5f5f5f5f5f 64 plan9 REPNE; MOVNTSS X2, 0(CX)
-f30f1011|223344556677885f5f5f5f5f 32 intel movss xmm2, dword ptr [ecx]
-f30f1011|223344556677885f5f5f5f5f 32 plan9 MOVSS 0(CX), X2
-f30f1011|223344556677885f5f5f5f5f 64 gnu movss (%rcx),%xmm2
-f30f1011|223344556677885f5f5f5f5f 64 intel movss xmm2, dword ptr [rcx]
-f30f1011|223344556677885f5f5f5f5f 64 plan9 MOVSS 0(CX), X2
-f30f1122|3344556677885f5f5f5f5f5f 32 intel movss dword ptr [edx], xmm4
-f30f1122|3344556677885f5f5f5f5f5f 32 plan9 MOVSS X4, 0(DX)
-f30f1122|3344556677885f5f5f5f5f5f 64 gnu movss %xmm4,(%rdx)
-f30f1122|3344556677885f5f5f5f5f5f 64 intel movss dword ptr [rdx], xmm4
-f30f1122|3344556677885f5f5f5f5f5f 64 plan9 MOVSS X4, 0(DX)
-f30f1211|223344556677885f5f5f5f5f 32 intel movsldup xmm2, xmmword ptr [ecx]
-f30f1211|223344556677885f5f5f5f5f 32 plan9 MOVSLDUP 0(CX), X2
-f30f1211|223344556677885f5f5f5f5f 64 gnu movsldup (%rcx),%xmm2
-f30f1211|223344556677885f5f5f5f5f 64 intel movsldup xmm2, xmmword ptr [rcx]
-f30f1211|223344556677885f5f5f5f5f 64 plan9 MOVSLDUP 0(CX), X2
-f30f1611|223344556677885f5f5f5f5f 32 intel movshdup xmm2, xmmword ptr [ecx]
-f30f1611|223344556677885f5f5f5f5f 32 plan9 MOVSHDUP 0(CX), X2
-f30f1611|223344556677885f5f5f5f5f 64 gnu movshdup (%rcx),%xmm2
-f30f1611|223344556677885f5f5f5f5f 64 intel movshdup xmm2, xmmword ptr [rcx]
-f30f1611|223344556677885f5f5f5f5f 64 plan9 MOVSHDUP 0(CX), X2
-f30f2a11|223344556677885f5f5f5f5f 32 intel cvtsi2ss xmm2, dword ptr [ecx]
-f30f2a11|223344556677885f5f5f5f5f 32 plan9 CVTSI2SSL 0(CX), X2
-f30f2a11|223344556677885f5f5f5f5f 64 gnu cvtsi2ssl (%rcx),%xmm2
-f30f2a11|223344556677885f5f5f5f5f 64 intel cvtsi2ss xmm2, dword ptr [rcx]
-f30f2a11|223344556677885f5f5f5f5f 64 plan9 CVTSI2SSL 0(CX), X2
-f30f2c11|223344556677885f5f5f5f5f 32 intel cvttss2si edx, dword ptr [ecx]
-f30f2c11|223344556677885f5f5f5f5f 32 plan9 CVTTSS2SIL 0(CX), DX
-f30f2c11|223344556677885f5f5f5f5f 64 gnu cvttss2si (%rcx),%edx
-f30f2c11|223344556677885f5f5f5f5f 64 intel cvttss2si edx, dword ptr [rcx]
-f30f2c11|223344556677885f5f5f5f5f 64 plan9 CVTTSS2SIL 0(CX), DX
-f30f2d11|223344556677885f5f5f5f5f 32 intel cvtss2si edx, dword ptr [ecx]
-f30f2d11|223344556677885f5f5f5f5f 32 plan9 CVTSS2SIL 0(CX), DX
-f30f2d11|223344556677885f5f5f5f5f 64 gnu cvtss2si (%rcx),%edx
-f30f2d11|223344556677885f5f5f5f5f 64 intel cvtss2si edx, dword ptr [rcx]
-f30f2d11|223344556677885f5f5f5f5f 64 plan9 CVTSS2SIL 0(CX), DX
-f30f5111|223344556677885f5f5f5f5f 32 intel sqrtss xmm2, dword ptr [ecx]
-f30f5111|223344556677885f5f5f5f5f 32 plan9 SQRTSS 0(CX), X2
-f30f5111|223344556677885f5f5f5f5f 64 gnu sqrtss (%rcx),%xmm2
-f30f5111|223344556677885f5f5f5f5f 64 intel sqrtss xmm2, dword ptr [rcx]
-f30f5111|223344556677885f5f5f5f5f 64 plan9 SQRTSS 0(CX), X2
-f30f5211|223344556677885f5f5f5f5f 32 intel rsqrtss xmm2, dword ptr [ecx]
-f30f5211|223344556677885f5f5f5f5f 32 plan9 RSQRTSS 0(CX), X2
-f30f5211|223344556677885f5f5f5f5f 64 gnu rsqrtss (%rcx),%xmm2
-f30f5211|223344556677885f5f5f5f5f 64 intel rsqrtss xmm2, dword ptr [rcx]
-f30f5211|223344556677885f5f5f5f5f 64 plan9 RSQRTSS 0(CX), X2
-f30f5311|223344556677885f5f5f5f5f 32 intel rcpss xmm2, dword ptr [ecx]
-f30f5311|223344556677885f5f5f5f5f 32 plan9 RCPSS 0(CX), X2
-f30f5311|223344556677885f5f5f5f5f 64 gnu rcpss (%rcx),%xmm2
-f30f5311|223344556677885f5f5f5f5f 64 intel rcpss xmm2, dword ptr [rcx]
-f30f5311|223344556677885f5f5f5f5f 64 plan9 RCPSS 0(CX), X2
-f30f5811|223344556677885f5f5f5f5f 32 intel addss xmm2, dword ptr [ecx]
-f30f5811|223344556677885f5f5f5f5f 32 plan9 ADDSS 0(CX), X2
-f30f5811|223344556677885f5f5f5f5f 64 gnu addss (%rcx),%xmm2
-f30f5811|223344556677885f5f5f5f5f 64 intel addss xmm2, dword ptr [rcx]
-f30f5811|223344556677885f5f5f5f5f 64 plan9 ADDSS 0(CX), X2
-f30f5911|223344556677885f5f5f5f5f 32 intel mulss xmm2, dword ptr [ecx]
-f30f5911|223344556677885f5f5f5f5f 32 plan9 MULSS 0(CX), X2
-f30f5911|223344556677885f5f5f5f5f 64 gnu mulss (%rcx),%xmm2
-f30f5911|223344556677885f5f5f5f5f 64 intel mulss xmm2, dword ptr [rcx]
-f30f5911|223344556677885f5f5f5f5f 64 plan9 MULSS 0(CX), X2
-f30f5a11|223344556677885f5f5f5f5f 32 intel cvtss2sd xmm2, dword ptr [ecx]
-f30f5a11|223344556677885f5f5f5f5f 32 plan9 CVTSS2SD 0(CX), X2
-f30f5a11|223344556677885f5f5f5f5f 64 gnu cvtss2sd (%rcx),%xmm2
-f30f5a11|223344556677885f5f5f5f5f 64 intel cvtss2sd xmm2, dword ptr [rcx]
-f30f5a11|223344556677885f5f5f5f5f 64 plan9 CVTSS2SD 0(CX), X2
-f30f5b11|223344556677885f5f5f5f5f 32 intel cvttps2dq xmm2, xmmword ptr [ecx]
-f30f5b11|223344556677885f5f5f5f5f 32 plan9 CVTTPS2DQ 0(CX), X2
-f30f5b11|223344556677885f5f5f5f5f 64 gnu cvttps2dq (%rcx),%xmm2
-f30f5b11|223344556677885f5f5f5f5f 64 intel cvttps2dq xmm2, xmmword ptr [rcx]
-f30f5b11|223344556677885f5f5f5f5f 64 plan9 CVTTPS2DQ 0(CX), X2
-f30f5c11|223344556677885f5f5f5f5f 32 intel subss xmm2, dword ptr [ecx]
-f30f5c11|223344556677885f5f5f5f5f 32 plan9 SUBSS 0(CX), X2
-f30f5c11|223344556677885f5f5f5f5f 64 gnu subss (%rcx),%xmm2
-f30f5c11|223344556677885f5f5f5f5f 64 intel subss xmm2, dword ptr [rcx]
-f30f5c11|223344556677885f5f5f5f5f 64 plan9 SUBSS 0(CX), X2
-f30f5d11|223344556677885f5f5f5f5f 32 intel minss xmm2, dword ptr [ecx]
-f30f5d11|223344556677885f5f5f5f5f 32 plan9 MINSS 0(CX), X2
-f30f5d11|223344556677885f5f5f5f5f 64 gnu minss (%rcx),%xmm2
-f30f5d11|223344556677885f5f5f5f5f 64 intel minss xmm2, dword ptr [rcx]
-f30f5d11|223344556677885f5f5f5f5f 64 plan9 MINSS 0(CX), X2
-f30f5e11|223344556677885f5f5f5f5f 32 intel divss xmm2, dword ptr [ecx]
-f30f5e11|223344556677885f5f5f5f5f 32 plan9 DIVSS 0(CX), X2
-f30f5e11|223344556677885f5f5f5f5f 64 gnu divss (%rcx),%xmm2
-f30f5e11|223344556677885f5f5f5f5f 64 intel divss xmm2, dword ptr [rcx]
-f30f5e11|223344556677885f5f5f5f5f 64 plan9 DIVSS 0(CX), X2
-f30f5f11|223344556677885f5f5f5f5f 32 intel maxss xmm2, dword ptr [ecx]
-f30f5f11|223344556677885f5f5f5f5f 32 plan9 MAXSS 0(CX), X2
-f30f5f11|223344556677885f5f5f5f5f 64 gnu maxss (%rcx),%xmm2
-f30f5f11|223344556677885f5f5f5f5f 64 intel maxss xmm2, dword ptr [rcx]
-f30f5f11|223344556677885f5f5f5f5f 64 plan9 MAXSS 0(CX), X2
-f30f6f11|223344556677885f5f5f5f5f 32 intel movdqu xmm2, xmmword ptr [ecx]
-f30f6f11|223344556677885f5f5f5f5f 32 plan9 MOVDQU 0(CX), X2
-f30f6f11|223344556677885f5f5f5f5f 64 gnu movdqu (%rcx),%xmm2
-f30f6f11|223344556677885f5f5f5f5f 64 intel movdqu xmm2, xmmword ptr [rcx]
-f30f6f11|223344556677885f5f5f5f5f 64 plan9 MOVDQU 0(CX), X2
-f30f701122|3344556677885f5f5f5f5f 32 intel pshufhw xmm2, xmmword ptr [ecx], 0x22
-f30f701122|3344556677885f5f5f5f5f 32 plan9 PSHUFHW $0x22, 0(CX), X2
-f30f701122|3344556677885f5f5f5f5f 64 gnu pshufhw $0x22,(%rcx),%xmm2
-f30f701122|3344556677885f5f5f5f5f 64 intel pshufhw xmm2, xmmword ptr [rcx], 0x22
-f30f701122|3344556677885f5f5f5f5f 64 plan9 PSHUFHW $0x22, 0(CX), X2
-f30f7e11|223344556677885f5f5f5f5f 32 intel movq xmm2, qword ptr [ecx]
-f30f7e11|223344556677885f5f5f5f5f 32 plan9 MOVQ 0(CX), X2
-f30f7e11|223344556677885f5f5f5f5f 64 gnu movq (%rcx),%xmm2
-f30f7e11|223344556677885f5f5f5f5f 64 intel movq xmm2, qword ptr [rcx]
-f30f7e11|223344556677885f5f5f5f5f 64 plan9 MOVQ 0(CX), X2
-f30f7f11|223344556677885f5f5f5f5f 32 intel movdqu xmmword ptr [ecx], xmm2
-f30f7f11|223344556677885f5f5f5f5f 32 plan9 MOVDQU X2, 0(CX)
-f30f7f11|223344556677885f5f5f5f5f 64 gnu movdqu %xmm2,(%rcx)
-f30f7f11|223344556677885f5f5f5f5f 64 intel movdqu xmmword ptr [rcx], xmm2
-f30f7f11|223344556677885f5f5f5f5f 64 plan9 MOVDQU X2, 0(CX)
-f30fae11|223344556677885f5f5f5f5f 64 gnu wrfsbasel (%rcx)
-f30fae11|223344556677885f5f5f5f5f 64 intel wrfsbase dword ptr [rcx]
-f30fae11|223344556677885f5f5f5f5f 64 plan9 WRFSBASE 0(CX)
-f30fae18|11223344556677885f5f5f5f 64 gnu wrgsbasel (%rax)
-f30fae18|11223344556677885f5f5f5f 64 intel wrgsbase dword ptr [rax]
-f30fae18|11223344556677885f5f5f5f 64 plan9 WRGSBASE 0(AX)
-f30faec0|11223344556677885f5f5f5f 64 gnu rdfsbase %eax
-f30faec0|11223344556677885f5f5f5f 64 intel rdfsbase eax
-f30faec0|11223344556677885f5f5f5f 64 plan9 RDFSBASE AX
-f30faec8|11223344556677885f5f5f5f 64 gnu rdgsbase %eax
-f30faec8|11223344556677885f5f5f5f 64 intel rdgsbase eax
-f30faec8|11223344556677885f5f5f5f 64 plan9 RDGSBASE AX
-f30fb811|223344556677885f5f5f5f5f 32 intel popcnt edx, dword ptr [ecx]
-f30fb811|223344556677885f5f5f5f5f 32 plan9 POPCNT 0(CX), DX
-f30fb811|223344556677885f5f5f5f5f 64 gnu popcnt (%rcx),%edx
-f30fb811|223344556677885f5f5f5f5f 64 intel popcnt edx, dword ptr [rcx]
-f30fb811|223344556677885f5f5f5f5f 64 plan9 POPCNT 0(CX), DX
-f30fbc11|223344556677885f5f5f5f5f 32 intel tzcnt edx, dword ptr [ecx]
-f30fbc11|223344556677885f5f5f5f5f 32 plan9 TZCNT 0(CX), DX
-f30fbc11|223344556677885f5f5f5f5f 64 gnu tzcnt (%rcx),%edx
-f30fbc11|223344556677885f5f5f5f5f 64 intel tzcnt edx, dword ptr [rcx]
-f30fbc11|223344556677885f5f5f5f5f 64 plan9 TZCNT 0(CX), DX
-f30fbd11|223344556677885f5f5f5f5f 32 intel lzcnt edx, dword ptr [ecx]
-f30fbd11|223344556677885f5f5f5f5f 32 plan9 LZCNT 0(CX), DX
-f30fbd11|223344556677885f5f5f5f5f 64 gnu lzcnt (%rcx),%edx
-f30fbd11|223344556677885f5f5f5f5f 64 intel lzcnt edx, dword ptr [rcx]
-f30fbd11|223344556677885f5f5f5f5f 64 plan9 LZCNT 0(CX), DX
-f30fc21122|3344556677885f5f5f5f5f 32 intel cmpss xmm2, dword ptr [ecx], 0x22
-f30fc21122|3344556677885f5f5f5f5f 32 plan9 CMPSS $0x22, 0(CX), X2
-f30fc21122|3344556677885f5f5f5f5f 64 gnu cmpss $0x22,(%rcx),%xmm2
-f30fc21122|3344556677885f5f5f5f5f 64 intel cmpss xmm2, dword ptr [rcx], 0x22
-f30fc21122|3344556677885f5f5f5f5f 64 plan9 CMPSS $0x22, 0(CX), X2
-f30fe611|223344556677885f5f5f5f5f 32 intel cvtdq2pd xmm2, qword ptr [ecx]
-f30fe611|223344556677885f5f5f5f5f 32 plan9 CVTDQ2PD 0(CX), X2
-f30fe611|223344556677885f5f5f5f5f 64 gnu cvtdq2pd (%rcx),%xmm2
-f30fe611|223344556677885f5f5f5f5f 64 intel cvtdq2pd xmm2, qword ptr [rcx]
-f30fe611|223344556677885f5f5f5f5f 64 plan9 CVTDQ2PD 0(CX), X2
-f3480f2a11|223344556677885f5f5f5f 64 gnu cvtsi2ssq (%rcx),%xmm2
-f3480f2a11|223344556677885f5f5f5f 64 intel cvtsi2ss xmm2, qword ptr [rcx]
-f3480f2a11|223344556677885f5f5f5f 64 plan9 CVTSI2SSQ 0(CX), X2
-f3480f2c11|223344556677885f5f5f5f 64 gnu cvttss2si (%rcx),%rdx
-f3480f2c11|223344556677885f5f5f5f 64 intel cvttss2si rdx, dword ptr [rcx]
-f3480f2c11|223344556677885f5f5f5f 64 plan9 CVTTSS2SIL 0(CX), DX
-f3480f2d11|223344556677885f5f5f5f 64 gnu cvtss2si (%rcx),%rdx
-f3480f2d11|223344556677885f5f5f5f 64 intel cvtss2si rdx, dword ptr [rcx]
-f3480f2d11|223344556677885f5f5f5f 64 plan9 CVTSS2SIL 0(CX), DX
-f3480fae11|223344556677885f5f5f5f 64 gnu wrfsbaseq (%rcx)
-f3480fae11|223344556677885f5f5f5f 64 intel wrfsbase qword ptr [rcx]
-f3480fae11|223344556677885f5f5f5f 64 plan9 WRFSBASE 0(CX)
-f3480fae18|11223344556677885f5f5f 64 gnu wrgsbaseq (%rax)
-f3480fae18|11223344556677885f5f5f 64 intel wrgsbase qword ptr [rax]
-f3480fae18|11223344556677885f5f5f 64 plan9 WRGSBASE 0(AX)
-f3480faec0|11223344556677885f5f5f 64 gnu rdfsbase %rax
-f3480faec0|11223344556677885f5f5f 64 intel rdfsbase rax
-f3480faec0|11223344556677885f5f5f 64 plan9 RDFSBASE AX
-f3480faec8|11223344556677885f5f5f 64 gnu rdgsbase %rax
-f3480faec8|11223344556677885f5f5f 64 intel rdgsbase rax
-f3480faec8|11223344556677885f5f5f 64 plan9 RDGSBASE AX
-f3480fb811|223344556677885f5f5f5f 64 gnu popcnt (%rcx),%rdx
-f3480fb811|223344556677885f5f5f5f 64 intel popcnt rdx, qword ptr [rcx]
-f3480fb811|223344556677885f5f5f5f 64 plan9 POPCNT 0(CX), DX
-f3480fbc11|223344556677885f5f5f5f 64 gnu tzcnt (%rcx),%rdx
-f3480fbc11|223344556677885f5f5f5f 64 intel tzcnt rdx, qword ptr [rcx]
-f3480fbc11|223344556677885f5f5f5f 64 plan9 TZCNT 0(CX), DX
-f3480fbd11|223344556677885f5f5f5f 64 gnu lzcnt (%rcx),%rdx
-f3480fbd11|223344556677885f5f5f5f 64 intel lzcnt rdx, qword ptr [rcx]
-f3480fbd11|223344556677885f5f5f5f 64 plan9 LZCNT 0(CX), DX
-f3660fb811|223344556677885f5f5f5f 32 intel popcnt dx, word ptr [ecx]
-f3660fb811|223344556677885f5f5f5f 32 plan9 POPCNT 0(CX), DX
-f3660fb811|223344556677885f5f5f5f 64 gnu popcnt (%rcx),%dx
-f3660fb811|223344556677885f5f5f5f 64 intel popcnt dx, word ptr [rcx]
-f3660fb811|223344556677885f5f5f5f 64 plan9 POPCNT 0(CX), DX
-f3660fbc11|223344556677885f5f5f5f 32 intel tzcnt dx, word ptr [ecx]
-f3660fbc11|223344556677885f5f5f5f 32 plan9 TZCNT 0(CX), DX
-f3660fbc11|223344556677885f5f5f5f 64 gnu tzcnt (%rcx),%dx
-f3660fbc11|223344556677885f5f5f5f 64 intel tzcnt dx, word ptr [rcx]
-f3660fbc11|223344556677885f5f5f5f 64 plan9 TZCNT 0(CX), DX
-f3660fbd11|223344556677885f5f5f5f 32 intel lzcnt dx, word ptr [ecx]
-f3660fbd11|223344556677885f5f5f5f 32 plan9 LZCNT 0(CX), DX
-f3660fbd11|223344556677885f5f5f5f 64 gnu lzcnt (%rcx),%dx
-f3660fbd11|223344556677885f5f5f5f 64 intel lzcnt dx, word ptr [rcx]
-f3660fbd11|223344556677885f5f5f5f 64 plan9 LZCNT 0(CX), DX
-f3f0673e660f38f111|22334455667788 32 intel lock movbe word ptr [bx+di*1], dx
-f3f0673e660f38f111|22334455667788 32 plan9 REP; MOVBE DX, DS:0(BX)(DI*1)
-f3f0673e660f38f111|22334455667788 64 gnu rep lock movbe %dx,%ds:(%ecx)
-f3f0673e660f38f111|22334455667788 64 intel lock movbe word ptr [ecx], dx
-f3f0673e660f38f111|22334455667788 64 plan9 REP; MOVBE DX, 0(CX)
-f3f20f2b11|5f5f5f5f5f5f5f5f5f5f5f 32 intel movntsd qword ptr [ecx], xmm2
-f3f20f2b11|5f5f5f5f5f5f5f5f5f5f5f 32 plan9 REP; MOVNTSD X2, 0(CX)
-f3f20f2b11|5f5f5f5f5f5f5f5f5f5f5f 64 gnu repn movntss %xmm2,(%rcx)
-f3f20f2b11|5f5f5f5f5f5f5f5f5f5f5f 64 intel movntsd qword ptr [rcx], xmm2
-f3f20f2b11|5f5f5f5f5f5f5f5f5f5f5f 64 plan9 REP; MOVNTSD X2, 0(CX)
-f4|11223344556677885f5f5f5f5f5f5f 32 intel hlt
-f4|11223344556677885f5f5f5f5f5f5f 32 plan9 HLT
-f4|11223344556677885f5f5f5f5f5f5f 64 gnu hlt
-f4|11223344556677885f5f5f5f5f5f5f 64 intel hlt
-f4|11223344556677885f5f5f5f5f5f5f 64 plan9 HLT
-f5|11223344556677885f5f5f5f5f5f5f 32 intel cmc
-f5|11223344556677885f5f5f5f5f5f5f 32 plan9 CMC
-f5|11223344556677885f5f5f5f5f5f5f 64 gnu cmc
-f5|11223344556677885f5f5f5f5f5f5f 64 intel cmc
-f5|11223344556677885f5f5f5f5f5f5f 64 plan9 CMC
-f60011|223344556677885f5f5f5f5f5f 32 intel test byte ptr [eax], 0x11
-f60011|223344556677885f5f5f5f5f5f 32 plan9 TESTB $0x11, 0(AX)
-f60011|223344556677885f5f5f5f5f5f 64 gnu testb $0x11,(%rax)
-f60011|223344556677885f5f5f5f5f5f 64 intel test byte ptr [rax], 0x11
-f60011|223344556677885f5f5f5f5f5f 64 plan9 TESTB $0x11, 0(AX)
-f611|223344556677885f5f5f5f5f5f5f 32 intel not byte ptr [ecx]
-f611|223344556677885f5f5f5f5f5f5f 32 plan9 NOTB 0(CX)
-f611|223344556677885f5f5f5f5f5f5f 64 gnu notb (%rcx)
-f611|223344556677885f5f5f5f5f5f5f 64 intel not byte ptr [rcx]
-f611|223344556677885f5f5f5f5f5f5f 64 plan9 NOTB 0(CX)
-f618|11223344556677885f5f5f5f5f5f 32 intel neg byte ptr [eax]
-f618|11223344556677885f5f5f5f5f5f 32 plan9 NEGB 0(AX)
-f618|11223344556677885f5f5f5f5f5f 64 gnu negb (%rax)
-f618|11223344556677885f5f5f5f5f5f 64 intel neg byte ptr [rax]
-f618|11223344556677885f5f5f5f5f5f 64 plan9 NEGB 0(AX)
-f620|11223344556677885f5f5f5f5f5f 32 intel mul byte ptr [eax]
-f620|11223344556677885f5f5f5f5f5f 32 plan9 MULB 0(AX)
-f620|11223344556677885f5f5f5f5f5f 64 gnu mulb (%rax)
-f620|11223344556677885f5f5f5f5f5f 64 intel mul byte ptr [rax]
-f620|11223344556677885f5f5f5f5f5f 64 plan9 MULB 0(AX)
-f628|11223344556677885f5f5f5f5f5f 32 intel imul byte ptr [eax]
-f628|11223344556677885f5f5f5f5f5f 32 plan9 IMULB 0(AX)
-f628|11223344556677885f5f5f5f5f5f 64 gnu imulb (%rax)
-f628|11223344556677885f5f5f5f5f5f 64 intel imul byte ptr [rax]
-f628|11223344556677885f5f5f5f5f5f 64 plan9 IMULB 0(AX)
-f630|11223344556677885f5f5f5f5f5f 32 intel div byte ptr [eax]
-f630|11223344556677885f5f5f5f5f5f 32 plan9 DIVB 0(AX)
-f630|11223344556677885f5f5f5f5f5f 64 gnu divb (%rax)
-f630|11223344556677885f5f5f5f5f5f 64 intel div byte ptr [rax]
-f630|11223344556677885f5f5f5f5f5f 64 plan9 DIVB 0(AX)
-f638|11223344556677885f5f5f5f5f5f 32 intel idiv byte ptr [eax]
-f638|11223344556677885f5f5f5f5f5f 32 plan9 IDIVB 0(AX)
-f638|11223344556677885f5f5f5f5f5f 64 gnu idivb (%rax)
-f638|11223344556677885f5f5f5f5f5f 64 intel idiv byte ptr [rax]
-f638|11223344556677885f5f5f5f5f5f 64 plan9 IDIVB 0(AX)
-f70011223344|556677885f5f5f5f5f5f 32 intel test dword ptr [eax], 0x44332211
-f70011223344|556677885f5f5f5f5f5f 32 plan9 TESTL $0x44332211, 0(AX)
-f70011223344|556677885f5f5f5f5f5f 64 gnu testl $0x44332211,(%rax)
-f70011223344|556677885f5f5f5f5f5f 64 intel test dword ptr [rax], 0x44332211
-f70011223344|556677885f5f5f5f5f5f 64 plan9 TESTL $0x44332211, 0(AX)
-f711|223344556677885f5f5f5f5f5f5f 32 intel not dword ptr [ecx]
-f711|223344556677885f5f5f5f5f5f5f 32 plan9 NOTL 0(CX)
-f711|223344556677885f5f5f5f5f5f5f 64 gnu notl (%rcx)
-f711|223344556677885f5f5f5f5f5f5f 64 intel not dword ptr [rcx]
-f711|223344556677885f5f5f5f5f5f5f 64 plan9 NOTL 0(CX)
-f718|11223344556677885f5f5f5f5f5f 32 intel neg dword ptr [eax]
-f718|11223344556677885f5f5f5f5f5f 32 plan9 NEGL 0(AX)
-f718|11223344556677885f5f5f5f5f5f 64 gnu negl (%rax)
-f718|11223344556677885f5f5f5f5f5f 64 intel neg dword ptr [rax]
-f718|11223344556677885f5f5f5f5f5f 64 plan9 NEGL 0(AX)
-f720|11223344556677885f5f5f5f5f5f 32 intel mul dword ptr [eax]
-f720|11223344556677885f5f5f5f5f5f 32 plan9 MULL 0(AX)
-f720|11223344556677885f5f5f5f5f5f 64 gnu mull (%rax)
-f720|11223344556677885f5f5f5f5f5f 64 intel mul dword ptr [rax]
-f720|11223344556677885f5f5f5f5f5f 64 plan9 MULL 0(AX)
-f728|11223344556677885f5f5f5f5f5f 32 intel imul dword ptr [eax]
-f728|11223344556677885f5f5f5f5f5f 32 plan9 IMULL 0(AX)
-f728|11223344556677885f5f5f5f5f5f 64 gnu imull (%rax)
-f728|11223344556677885f5f5f5f5f5f 64 intel imul dword ptr [rax]
-f728|11223344556677885f5f5f5f5f5f 64 plan9 IMULL 0(AX)
-f730|11223344556677885f5f5f5f5f5f 32 intel div dword ptr [eax]
-f730|11223344556677885f5f5f5f5f5f 32 plan9 DIVL 0(AX)
-f730|11223344556677885f5f5f5f5f5f 64 gnu divl (%rax)
-f730|11223344556677885f5f5f5f5f5f 64 intel div dword ptr [rax]
-f730|11223344556677885f5f5f5f5f5f 64 plan9 DIVL 0(AX)
-f738|11223344556677885f5f5f5f5f5f 32 intel idiv dword ptr [eax]
-f738|11223344556677885f5f5f5f5f5f 32 plan9 IDIVL 0(AX)
-f738|11223344556677885f5f5f5f5f5f 64 gnu idivl (%rax)
-f738|11223344556677885f5f5f5f5f5f 64 intel idiv dword ptr [rax]
-f738|11223344556677885f5f5f5f5f5f 64 plan9 IDIVL 0(AX)
-f8|11223344556677885f5f5f5f5f5f5f 32 intel clc
-f8|11223344556677885f5f5f5f5f5f5f 32 plan9 CLC
-f8|11223344556677885f5f5f5f5f5f5f 64 gnu clc
-f8|11223344556677885f5f5f5f5f5f5f 64 intel clc
-f8|11223344556677885f5f5f5f5f5f5f 64 plan9 CLC
-f9|11223344556677885f5f5f5f5f5f5f 32 intel stc
-f9|11223344556677885f5f5f5f5f5f5f 32 plan9 STC
-f9|11223344556677885f5f5f5f5f5f5f 64 gnu stc
-f9|11223344556677885f5f5f5f5f5f5f 64 intel stc
-f9|11223344556677885f5f5f5f5f5f5f 64 plan9 STC
-fa|11223344556677885f5f5f5f5f5f5f 32 intel cli
-fa|11223344556677885f5f5f5f5f5f5f 32 plan9 CLI
-fa|11223344556677885f5f5f5f5f5f5f 64 gnu cli
-fa|11223344556677885f5f5f5f5f5f5f 64 intel cli
-fa|11223344556677885f5f5f5f5f5f5f 64 plan9 CLI
-fb|11223344556677885f5f5f5f5f5f5f 32 intel sti
-fb|11223344556677885f5f5f5f5f5f5f 32 plan9 STI
-fb|11223344556677885f5f5f5f5f5f5f 64 gnu sti
-fb|11223344556677885f5f5f5f5f5f5f 64 intel sti
-fb|11223344556677885f5f5f5f5f5f5f 64 plan9 STI
-fc|11223344556677885f5f5f5f5f5f5f 32 intel cld
-fc|11223344556677885f5f5f5f5f5f5f 32 plan9 CLD
-fc|11223344556677885f5f5f5f5f5f5f 64 gnu cld
-fc|11223344556677885f5f5f5f5f5f5f 64 intel cld
-fc|11223344556677885f5f5f5f5f5f5f 64 plan9 CLD
-fd|11223344556677885f5f5f5f5f5f5f 32 intel std
-fd|11223344556677885f5f5f5f5f5f5f 32 plan9 STD
-fd|11223344556677885f5f5f5f5f5f5f 64 gnu std
-fd|11223344556677885f5f5f5f5f5f5f 64 intel std
-fd|11223344556677885f5f5f5f5f5f5f 64 plan9 STD
-fe00|11223344556677885f5f5f5f5f5f 32 intel inc byte ptr [eax]
-fe00|11223344556677885f5f5f5f5f5f 32 plan9 INCB 0(AX)
-fe00|11223344556677885f5f5f5f5f5f 64 gnu incb (%rax)
-fe00|11223344556677885f5f5f5f5f5f 64 intel inc byte ptr [rax]
-fe00|11223344556677885f5f5f5f5f5f 64 plan9 INCB 0(AX)
-fe08|11223344556677885f5f5f5f5f5f 32 intel dec byte ptr [eax]
-fe08|11223344556677885f5f5f5f5f5f 32 plan9 DECB 0(AX)
-fe08|11223344556677885f5f5f5f5f5f 64 gnu decb (%rax)
-fe08|11223344556677885f5f5f5f5f5f 64 intel dec byte ptr [rax]
-fe08|11223344556677885f5f5f5f5f5f 64 plan9 DECB 0(AX)
-ff00|11223344556677885f5f5f5f5f5f 32 intel inc dword ptr [eax]
-ff00|11223344556677885f5f5f5f5f5f 32 plan9 INCL 0(AX)
-ff00|11223344556677885f5f5f5f5f5f 64 gnu incl (%rax)
-ff00|11223344556677885f5f5f5f5f5f 64 intel inc dword ptr [rax]
-ff00|11223344556677885f5f5f5f5f5f 64 plan9 INCL 0(AX)
-ff08|11223344556677885f5f5f5f5f5f 32 intel dec dword ptr [eax]
-ff08|11223344556677885f5f5f5f5f5f 32 plan9 DECL 0(AX)
-ff08|11223344556677885f5f5f5f5f5f 64 gnu decl (%rax)
-ff08|11223344556677885f5f5f5f5f5f 64 intel dec dword ptr [rax]
-ff08|11223344556677885f5f5f5f5f5f 64 plan9 DECL 0(AX)
-ff11|223344556677885f5f5f5f5f5f5f 32 intel call dword ptr [ecx]
-ff11|223344556677885f5f5f5f5f5f5f 32 plan9 CALL 0(CX)
-ff18|11223344556677885f5f5f5f5f5f 32 intel call far ptr [eax]
-ff18|11223344556677885f5f5f5f5f5f 32 plan9 LCALL 0(AX)
-ff18|11223344556677885f5f5f5f5f5f 64 gnu lcallq *(%rax)
-ff18|11223344556677885f5f5f5f5f5f 64 intel call far ptr [rax]
-ff18|11223344556677885f5f5f5f5f5f 64 plan9 LCALL 0(AX)
-ff20|11223344556677885f5f5f5f5f5f 32 intel jmp dword ptr [eax]
-ff20|11223344556677885f5f5f5f5f5f 32 plan9 JMP 0(AX)
-ff28|11223344556677885f5f5f5f5f5f 32 intel jmp far ptr [eax]
-ff28|11223344556677885f5f5f5f5f5f 32 plan9 LJMP 0(AX)
-ff28|11223344556677885f5f5f5f5f5f 64 gnu ljmpq *(%rax)
-ff28|11223344556677885f5f5f5f5f5f 64 intel jmp far ptr [rax]
-ff28|11223344556677885f5f5f5f5f5f 64 plan9 LJMP 0(AX)
-ff30|11223344556677885f5f5f5f5f5f 32 intel push dword ptr [eax]
-ff30|11223344556677885f5f5f5f5f5f 32 plan9 PUSHL 0(AX)
-ff30|11223344556677885f5f5f5f5f5f 64 gnu pushq (%rax)
-ff30|11223344556677885f5f5f5f5f5f 64 intel push qword ptr [rax]
-ff30|11223344556677885f5f5f5f5f5f 64 plan9 PUSHQ 0(AX)
-c5fe6f06|44556677885f5f5f5f5f5f5f 32 intel vmovdqu ymm0, ymmword ptr [esi]
-c5fe6f06|44556677885f5f5f5f5f5f5f 32 plan9 VMOVDQU 0(SI), X0
-c5fe6f06|44556677885f5f5f5f5f5f5f 32 gnu vmovdqu (%esi),%ymm0
-c4227d2a0c36|6677885f5f5f5f5f5f5f 64 intel vmovntdqa ymm9, ymmword ptr [rsi+r14*1]
-c4227d2a0c36|6677885f5f5f5f5f5f5f 64 plan9 VMOVNTDQA 0(SI)(R14*1), X9
-c4227d2a0c36|6677885f5f5f5f5f5f5f 64 gnu vmovntdqa (%rsi,%r14,1),%ymm9
-c57d7ff7|44556677885f5f5f5f5f5f5f 64 intel vmovdqa ymm7, ymm14
-c57d7ff7|44556677885f5f5f5f5f5f5f 64 plan9 VMOVDQA X14, X7
-c57d7ff7|44556677885f5f5f5f5f5f5f 64 gnu vmovdqa %ymm14,%ymm7
-66f3ab|223344556677885f5f5f5f5f5f 64 gnu rep stos %ax,%es:(%rdi)
-66f3ab|223344556677885f5f5f5f5f5f 64 intel rep stosw word ptr [rdi]
-66f3ab|223344556677885f5f5f5f5f5f 64 plan9 REP; STOSW AX, ES:0(DI)
-f348a5|223344556677885f5f5f5f5f5f 64 gnu rep movsq %ds:(%rsi),%es:(%rdi)
-f348a5|223344556677885f5f5f5f5f5f 64 intel rep movsq qword ptr [rdi], qword ptr [rsi]
-f348a5|223344556677885f5f5f5f5f5f 64 plan9 REP; MOVSQ DS:0(SI), ES:0(DI)
-f348ab|223344556677885f5f5f5f5f5f 64 gnu rep stos %rax,%es:(%rdi)
-f348ab|223344556677885f5f5f5f5f5f 64 intel rep stosq qword ptr [rdi]
-f348ab|223344556677885f5f5f5f5f5f 64 plan9 REP; STOSQ AX, ES:0(DI)
-f3a4|11223344556677885f5f5f5f5f5f 32 gnu rep movsb %ds:(%esi),%es:(%edi)
-f3a4|11223344556677885f5f5f5f5f5f 32 gnu rep movsb %ds:(%esi),%es:(%edi)
-f3a4|11223344556677885f5f5f5f5f5f 32 intel rep movsb byte ptr [edi], byte ptr [esi]
-f3a4|11223344556677885f5f5f5f5f5f 32 plan9 REP; MOVSB DS:0(SI), ES:0(DI)
-f3a4|11223344556677885f5f5f5f5f5f 64 gnu rep movsb %ds:(%rsi),%es:(%rdi)
-f3a4|11223344556677885f5f5f5f5f5f 64 intel rep movsb byte ptr [rdi], byte ptr [rsi]
-f3a4|11223344556677885f5f5f5f5f5f 64 plan9 REP; MOVSB DS:0(SI), ES:0(DI)
-f3a5|11223344556677885f5f5f5f5f5f 32 gnu rep movsl %ds:(%esi),%es:(%edi)
-f3a5|11223344556677885f5f5f5f5f5f 32 intel rep movsd dword ptr [edi], dword ptr [esi]
-f3a5|11223344556677885f5f5f5f5f5f 32 plan9 REP; MOVSD DS:0(SI), ES:0(DI)
-f3a5|11223344556677885f5f5f5f5f5f 64 gnu rep movsl %ds:(%rsi),%es:(%rdi)
-f3a5|11223344556677885f5f5f5f5f5f 64 intel rep movsd dword ptr [rdi], dword ptr [rsi]
-f3a5|11223344556677885f5f5f5f5f5f 64 plan9 REP; MOVSD DS:0(SI), ES:0(DI)
-f3a6|11223344556677885f5f5f5f5f5f 64 gnu rep cmpsb %es:(%rdi),%ds:(%rsi)
-f3a6|11223344556677885f5f5f5f5f5f 64 intel rep cmpsb byte ptr [rsi], byte ptr [rdi]
-f3a6|11223344556677885f5f5f5f5f5f 64 plan9 REP; CMPSB ES:0(DI), DS:0(SI)
-f3ab|11223344556677885f5f5f5f5f5f 32 gnu rep stos %eax,%es:(%edi)
-f3ab|11223344556677885f5f5f5f5f5f 32 intel rep stosd dword ptr [edi]
-f3ab|11223344556677885f5f5f5f5f5f 32 plan9 REP; STOSD AX, ES:0(DI)
-f201c1|223344556677885f5f5f5f5f5f 64 plan9 REPNE; ADDL AX, CX
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/libmach8db.c b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/libmach8db.c
deleted file mode 100644
index 90ace5241d..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/testdata/libmach8db.c
+++ /dev/null
@@ -1,2075 +0,0 @@
-// 9c libmach8db.c && 9l -o libmach8db libmach8db.o; rm libmach8db.o
-
-// Libmach-based disassembler for use in reference tests.
-
-// Inferno libmach/8db.c
-// http://code.google.com/p/inferno-os/source/browse/utils/libmach/8db.c
-//
-// Copyright © 1994-1999 Lucent Technologies Inc.
-// Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net).
-// Portions Copyright © 1997-1999 Vita Nuova Limited.
-// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com).
-// Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others.
-// Portions Copyright © 2009 The Go Authors. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-
-typedef struct Map Map;
-struct Map
-{
- int (*get1)(Map*, uvlong, uchar*, int);
- uchar *p;
- uchar *ep;
- uchar *startp;
- uvlong startpc;
-};
-
-static int
-get1(Map *m, uvlong addr, uchar *p, int n)
-{
- return m->get1(m, addr, p, n);
-}
-
-/*
- * i386-specific debugger interface
- * also amd64 extensions
- */
-
-static int i386inst(Map*, uvlong, int, char, char*, int);
-//static int i386das(Map*, uvlong, char*, int);
-//static int i386instlen(Map*, uvlong);
-
- /* I386/486 - Disassembler and related functions */
-
-/*
- * an instruction
- */
-typedef struct Instr Instr;
-struct Instr
-{
- uchar mem[1+1+1+1+2+1+1+4+4]; /* raw instruction */
- uvlong addr; /* address of start of instruction */
- int n; /* number of bytes in instruction */
- char *prefix; /* instr prefix */
- char *segment; /* segment override */
- uchar jumptype; /* set to the operand type for jump/ret/call */
- uchar amd64;
- uchar rex; /* REX prefix (or zero) */
- uchar op;
- char osize; /* 'W' or 'L' (or 'Q' on amd64) */
- char asize; /* address size 'W' or 'L' (or 'Q' or amd64) */
- uchar mod; /* bits 6-7 of mod r/m field */
- uchar reg; /* bits 3-5 of mod r/m field */
- char ss; /* bits 6-7 of SIB */
- schar index; /* bits 3-5 of SIB */
- schar base; /* bits 0-2 of SIB */
- char rip; /* RIP-relative in amd64 mode */
- uchar opre; /* f2/f3 could introduce media */
- short seg; /* segment of far address */
- uint32 disp; /* displacement */
- uint32 imm; /* immediate */
- uint32 imm2; /* second immediate operand */
- uvlong imm64; /* big immediate */
- char *curr; /* fill level in output buffer */
- char *end; /* end of output buffer */
- char *err; /* error message */
-};
-
- /* 386 register (ha!) set */
-enum{
- AX=0,
- CX,
- DX,
- BX,
- SP,
- BP,
- SI,
- DI,
-
- /* amd64 */
- /* be careful: some unix system headers #define R8, R9, etc */
- AMD64_R8,
- AMD64_R9,
- AMD64_R10,
- AMD64_R11,
- AMD64_R12,
- AMD64_R13,
- AMD64_R14,
- AMD64_R15
-};
-
- /* amd64 rex extension byte */
-enum{
- REXW = 1<<3, /* =1, 64-bit operand size */
- REXR = 1<<2, /* extend modrm reg */
- REXX = 1<<1, /* extend sib index */
- REXB = 1<<0 /* extend modrm r/m, sib base, or opcode reg */
-};
-
- /* Operand Format codes */
-/*
-%A - address size register modifier (!asize -> 'E')
-%C - Control register CR0/CR1/CR2
-%D - Debug register DR0/DR1/DR2/DR3/DR6/DR7
-%I - second immediate operand
-%O - Operand size register modifier (!osize -> 'E')
-%T - Test register TR6/TR7
-%S - size code ('W' or 'L')
-%W - Weird opcode: OSIZE == 'W' => "CBW"; else => "CWDE"
-%d - displacement 16-32 bits
-%e - effective address - Mod R/M value
-%f - floating point register F0-F7 - from Mod R/M register
-%g - segment register
-%i - immediate operand 8-32 bits
-%o - register from opcode and REX.B
-%p - PC-relative - signed displacement in immediate field
-%r - Reg from Mod R/M
-%w - Weird opcode: OSIZE == 'W' => "CWD"; else => "CDQ"
-*/
-
-typedef struct Optable Optable;
-struct Optable
-{
- char operand[2];
- void *proto; /* actually either (char*) or (Optable*) */
-};
- /* Operand decoding codes */
-enum {
- Ib = 1, /* 8-bit immediate - (no sign extension)*/
- Ibs, /* 8-bit immediate (sign extended) */
- Jbs, /* 8-bit sign-extended immediate in jump or call */
- Iw, /* 16-bit immediate -> imm */
- Iw2, /* 16-bit immediate -> imm2 */
- Iwd, /* Operand-sized immediate (no sign extension)*/
- Iwdq, /* Operand-sized immediate, possibly 64 bits */
- Awd, /* Address offset */
- Iwds, /* Operand-sized immediate (sign extended) */
- RM, /* Word or int32 R/M field with register (/r) */
- RMB, /* Byte R/M field with register (/r) */
- RMOP, /* Word or int32 R/M field with op code (/digit) */
- RMOPB, /* Byte R/M field with op code (/digit) */
- RMR, /* R/M register only (mod = 11) */
- RMM, /* R/M memory only (mod = 0/1/2) */
- Op_R0, /* Base reg of Mod R/M is literal 0x00 */
- Op_R1, /* Base reg of Mod R/M is literal 0x01 */
- FRMOP, /* Floating point R/M field with opcode */
- FRMEX, /* Extended floating point R/M field with opcode */
- JUMP, /* Jump or Call flag - no operand */
- RET, /* Return flag - no operand */
- OA, /* literal 0x0a byte */
- PTR, /* Seg:Displacement addr (ptr16:16 or ptr16:32) */
- AUX, /* Multi-byte op code - Auxiliary table */
- AUXMM, /* multi-byte op code - auxiliary table chosen by prefix */
- PRE, /* Instr Prefix */
- OPRE, /* Instr Prefix or media op extension */
- SEG, /* Segment Prefix */
- OPOVER, /* Operand size override */
- ADDOVER, /* Address size override */
-};
-
-static Optable optab0F00[8]=
-{
-[0x00] = { 0,0, "MOVW LDT,%e" },
-[0x01] = { 0,0, "MOVW TR,%e" },
-[0x02] = { 0,0, "MOVW %e,LDT" },
-[0x03] = { 0,0, "MOVW %e,TR" },
-[0x04] = { 0,0, "VERR %e" },
-[0x05] = { 0,0, "VERW %e" },
-};
-
-static Optable optab0F01[8]=
-{
-[0x00] = { 0,0, "MOVL GDTR,%e" },
-[0x01] = { 0,0, "MOVL IDTR,%e" },
-[0x02] = { 0,0, "MOVL %e,GDTR" },
-[0x03] = { 0,0, "MOVL %e,IDTR" },
-[0x04] = { 0,0, "MOVW MSW,%e" }, /* word */
-[0x06] = { 0,0, "MOVW %e,MSW" }, /* word */
-[0x07] = { 0,0, "INVLPG %e" }, /* or SWAPGS */
-};
-
-static Optable optab0F01F8[1]=
-{
-[0x00] = { 0,0, "SWAPGS" },
-};
-
-/* 0F71 */
-/* 0F72 */
-/* 0F73 */
-
-static Optable optab0FAE[8]=
-{
-[0x00] = { 0,0, "FXSAVE %e" },
-[0x01] = { 0,0, "FXRSTOR %e" },
-[0x02] = { 0,0, "LDMXCSR %e" },
-[0x03] = { 0,0, "STMXCSR %e" },
-[0x05] = { 0,0, "LFENCE" },
-[0x06] = { 0,0, "MFENCE" },
-[0x07] = { 0,0, "SFENCE" },
-};
-
-/* 0F18 */
-/* 0F0D */
-
-static Optable optab0FBA[8]=
-{
-[0x04] = { Ib,0, "BT%S %i,%e" },
-[0x05] = { Ib,0, "BTS%S %i,%e" },
-[0x06] = { Ib,0, "BTR%S %i,%e" },
-[0x07] = { Ib,0, "BTC%S %i,%e" },
-};
-
-static Optable optab0F0F[256]=
-{
-[0x0c] = { 0,0, "PI2FW %m,%M" },
-[0x0d] = { 0,0, "PI2L %m,%M" },
-[0x1c] = { 0,0, "PF2IW %m,%M" },
-[0x1d] = { 0,0, "PF2IL %m,%M" },
-[0x8a] = { 0,0, "PFNACC %m,%M" },
-[0x8e] = { 0,0, "PFPNACC %m,%M" },
-[0x90] = { 0,0, "PFCMPGE %m,%M" },
-[0x94] = { 0,0, "PFMIN %m,%M" },
-[0x96] = { 0,0, "PFRCP %m,%M" },
-[0x97] = { 0,0, "PFRSQRT %m,%M" },
-[0x9a] = { 0,0, "PFSUB %m,%M" },
-[0x9e] = { 0,0, "PFADD %m,%M" },
-[0xa0] = { 0,0, "PFCMPGT %m,%M" },
-[0xa4] = { 0,0, "PFMAX %m,%M" },
-[0xa6] = { 0,0, "PFRCPIT1 %m,%M" },
-[0xa7] = { 0,0, "PFRSQIT1 %m,%M" },
-[0xaa] = { 0,0, "PFSUBR %m,%M" },
-[0xae] = { 0,0, "PFACC %m,%M" },
-[0xb0] = { 0,0, "PFCMPEQ %m,%M" },
-[0xb4] = { 0,0, "PFMUL %m,%M" },
-[0xb6] = { 0,0, "PFRCPI2T %m,%M" },
-[0xb7] = { 0,0, "PMULHRW %m,%M" },
-[0xbb] = { 0,0, "PSWAPL %m,%M" },
-};
-
-static Optable optab0FC7[8]=
-{
-[0x01] = { 0,0, "CMPXCHG8B %e" },
-};
-
-static Optable optab660F71[8]=
-{
-[0x02] = { Ib,0, "PSRLW %i,%X" },
-[0x04] = { Ib,0, "PSRAW %i,%X" },
-[0x06] = { Ib,0, "PSLLW %i,%X" },
-};
-
-static Optable optab660F72[8]=
-{
-[0x02] = { Ib,0, "PSRLL %i,%X" },
-[0x04] = { Ib,0, "PSRAL %i,%X" },
-[0x06] = { Ib,0, "PSLLL %i,%X" },
-};
-
-static Optable optab660F73[8]=
-{
-[0x02] = { Ib,0, "PSRLQ %i,%X" },
-[0x03] = { Ib,0, "PSRLO %i,%X" },
-[0x06] = { Ib,0, "PSLLQ %i,%X" },
-[0x07] = { Ib,0, "PSLLO %i,%X" },
-};
-
-static Optable optab660F[256]=
-{
-[0x2B] = { RM,0, "MOVNTPD %x,%e" },
-[0x2E] = { RM,0, "UCOMISD %x,%X" },
-[0x2F] = { RM,0, "COMISD %x,%X" },
-[0x5A] = { RM,0, "CVTPD2PS %x,%X" },
-[0x5B] = { RM,0, "CVTPS2PL %x,%X" },
-[0x6A] = { RM,0, "PUNPCKHLQ %x,%X" },
-[0x6B] = { RM,0, "PACKSSLW %x,%X" },
-[0x6C] = { RM,0, "PUNPCKLQDQ %x,%X" },
-[0x6D] = { RM,0, "PUNPCKHQDQ %x,%X" },
-[0x6E] = { RM,0, "MOV%S %e,%X" },
-[0x6F] = { RM,0, "MOVO %x,%X" }, /* MOVDQA */
-[0x70] = { RM,Ib, "PSHUFL %i,%x,%X" },
-[0x71] = { RMOP,0, optab660F71 },
-[0x72] = { RMOP,0, optab660F72 },
-[0x73] = { RMOP,0, optab660F73 },
-[0x7E] = { RM,0, "MOV%S %X,%e" },
-[0x7F] = { RM,0, "MOVO %X,%x" },
-[0xC4] = { RM,Ib, "PINSRW %i,%e,%X" },
-[0xC5] = { RMR,Ib, "PEXTRW %i,%X,%e" },
-[0xD4] = { RM,0, "PADDQ %x,%X" },
-[0xD5] = { RM,0, "PMULLW %x,%X" },
-[0xD6] = { RM,0, "MOVQ %X,%x" },
-[0xE6] = { RM,0, "CVTTPD2PL %x,%X" },
-[0xE7] = { RM,0, "MOVNTO %X,%e" },
-[0xF7] = { RM,0, "MASKMOVOU %x,%X" },
-};
-
-static Optable optabF20F[256]=
-{
-[0x10] = { RM,0, "MOVSD %x,%X" },
-[0x11] = { RM,0, "MOVSD %X,%x" },
-[0x2A] = { RM,0, "CVTS%S2SD %e,%X" },
-[0x2C] = { RM,0, "CVTTSD2S%S %x,%r" },
-[0x2D] = { RM,0, "CVTSD2S%S %x,%r" },
-[0x5A] = { RM,0, "CVTSD2SS %x,%X" },
-[0x6F] = { RM,0, "MOVOU %x,%X" },
-[0x70] = { RM,Ib, "PSHUFLW %i,%x,%X" },
-[0x7F] = { RM,0, "MOVOU %X,%x" },
-[0xD6] = { RM,0, "MOVQOZX %M,%X" },
-[0xE6] = { RM,0, "CVTPD2PL %x,%X" },
-};
-
-static Optable optabF30F[256]=
-{
-[0x10] = { RM,0, "MOVSS %x,%X" },
-[0x11] = { RM,0, "MOVSS %X,%x" },
-[0x2A] = { RM,0, "CVTS%S2SS %e,%X" },
-[0x2C] = { RM,0, "CVTTSS2S%S %x,%r" },
-[0x2D] = { RM,0, "CVTSS2S%S %x,%r" },
-[0x5A] = { RM,0, "CVTSS2SD %x,%X" },
-[0x5B] = { RM,0, "CVTTPS2PL %x,%X" },
-[0x6F] = { RM,0, "MOVOU %x,%X" },
-[0x70] = { RM,Ib, "PSHUFHW %i,%x,%X" },
-[0x7E] = { RM,0, "MOVQOZX %x,%X" },
-[0x7F] = { RM,0, "MOVOU %X,%x" },
-[0xD6] = { RM,0, "MOVQOZX %m*,%X" },
-[0xE6] = { RM,0, "CVTPL2PD %x,%X" },
-};
-
-static Optable optab0F[256]=
-{
-[0x00] = { RMOP,0, optab0F00 },
-[0x01] = { RMOP,0, optab0F01 },
-[0x02] = { RM,0, "LAR %e,%r" },
-[0x03] = { RM,0, "LSL %e,%r" },
-[0x05] = { 0,0, "SYSCALL" },
-[0x06] = { 0,0, "CLTS" },
-[0x07] = { 0,0, "SYSRET" },
-[0x08] = { 0,0, "INVD" },
-[0x09] = { 0,0, "WBINVD" },
-[0x0B] = { 0,0, "UD2" },
-[0x0F] = { RM,AUX, optab0F0F }, /* 3DNow! */
-[0x10] = { RM,0, "MOVU%s %x,%X" },
-[0x11] = { RM,0, "MOVU%s %X,%x" },
-[0x12] = { RM,0, "MOV[H]L%s %x,%X" }, /* TO DO: H if source is XMM */
-[0x13] = { RM,0, "MOVL%s %X,%e" },
-[0x14] = { RM,0, "UNPCKL%s %x,%X" },
-[0x15] = { RM,0, "UNPCKH%s %x,%X" },
-[0x16] = { RM,0, "MOV[L]H%s %x,%X" }, /* TO DO: L if source is XMM */
-[0x17] = { RM,0, "MOVH%s %X,%x" },
-[0x1F] = { RM,0, "NOP%S %e" },
-[0x20] = { RMR,0, "MOVL %C,%e" },
-[0x21] = { RMR,0, "MOVL %D,%e" },
-[0x22] = { RMR,0, "MOVL %e,%C" },
-[0x23] = { RMR,0, "MOVL %e,%D" },
-[0x24] = { RMR,0, "MOVL %T,%e" },
-[0x26] = { RMR,0, "MOVL %e,%T" },
-[0x28] = { RM,0, "MOVA%s %x,%X" },
-[0x29] = { RM,0, "MOVA%s %X,%x" },
-[0x2A] = { RM,0, "CVTPL2%s %m*,%X" },
-[0x2B] = { RM,0, "MOVNT%s %X,%e" },
-[0x2C] = { RM,0, "CVTT%s2PL %x,%M" },
-[0x2D] = { RM,0, "CVT%s2PL %x,%M" },
-[0x2E] = { RM,0, "UCOMISS %x,%X" },
-[0x2F] = { RM,0, "COMISS %x,%X" },
-[0x30] = { 0,0, "WRMSR" },
-[0x31] = { 0,0, "RDTSC" },
-[0x32] = { 0,0, "RDMSR" },
-[0x33] = { 0,0, "RDPMC" },
-[0x42] = { RM,0, "CMOVC %e,%r" }, /* CF */
-[0x43] = { RM,0, "CMOVNC %e,%r" }, /* ¬ CF */
-[0x44] = { RM,0, "CMOVZ %e,%r" }, /* ZF */
-[0x45] = { RM,0, "CMOVNZ %e,%r" }, /* ¬ ZF */
-[0x46] = { RM,0, "CMOVBE %e,%r" }, /* CF ∨ ZF */
-[0x47] = { RM,0, "CMOVA %e,%r" }, /* ¬CF ∧ ¬ZF */
-[0x48] = { RM,0, "CMOVS %e,%r" }, /* SF */
-[0x49] = { RM,0, "CMOVNS %e,%r" }, /* ¬ SF */
-[0x4A] = { RM,0, "CMOVP %e,%r" }, /* PF */
-[0x4B] = { RM,0, "CMOVNP %e,%r" }, /* ¬ PF */
-[0x4C] = { RM,0, "CMOVLT %e,%r" }, /* LT ≡ OF ≠ SF */
-[0x4D] = { RM,0, "CMOVGE %e,%r" }, /* GE ≡ ZF ∨ SF */
-[0x4E] = { RM,0, "CMOVLE %e,%r" }, /* LE ≡ ZF ∨ LT */
-[0x4F] = { RM,0, "CMOVGT %e,%r" }, /* GT ≡ ¬ZF ∧ GE */
-[0x50] = { RM,0, "MOVMSK%s %X,%r" }, /* TO DO: check */
-[0x51] = { RM,0, "SQRT%s %x,%X" },
-[0x52] = { RM,0, "RSQRT%s %x,%X" },
-[0x53] = { RM,0, "RCP%s %x,%X" },
-[0x54] = { RM,0, "AND%s %x,%X" },
-[0x55] = { RM,0, "ANDN%s %x,%X" },
-[0x56] = { RM,0, "OR%s %x,%X" }, /* TO DO: S/D */
-[0x57] = { RM,0, "XOR%s %x,%X" }, /* S/D */
-[0x58] = { RM,0, "ADD%s %x,%X" }, /* S/P S/D */
-[0x59] = { RM,0, "MUL%s %x,%X" },
-[0x5A] = { RM,0, "CVTPS2PD %x,%X" },
-[0x5B] = { RM,0, "CVTPL2PS %x,%X" },
-[0x5C] = { RM,0, "SUB%s %x,%X" },
-[0x5D] = { RM,0, "MIN%s %x,%X" },
-[0x5E] = { RM,0, "DIV%s %x,%X" }, /* TO DO: S/P S/D */
-[0x5F] = { RM,0, "MAX%s %x,%X" },
-[0x60] = { RM,0, "PUNPCKLBW %m,%M" },
-[0x61] = { RM,0, "PUNPCKLWL %m,%M" },
-[0x62] = { RM,0, "PUNPCKLLQ %m,%M" },
-[0x63] = { RM,0, "PACKSSWB %m,%M" },
-[0x64] = { RM,0, "PCMPGTB %m,%M" },
-[0x65] = { RM,0, "PCMPGTW %m,%M" },
-[0x66] = { RM,0, "PCMPGTL %m,%M" },
-[0x67] = { RM,0, "PACKUSWB %m,%M" },
-[0x68] = { RM,0, "PUNPCKHBW %m,%M" },
-[0x69] = { RM,0, "PUNPCKHWL %m,%M" },
-[0x6A] = { RM,0, "PUNPCKHLQ %m,%M" },
-[0x6B] = { RM,0, "PACKSSLW %m,%M" },
-[0x6E] = { RM,0, "MOV%S %e,%M" },
-[0x6F] = { RM,0, "MOVQ %m,%M" },
-[0x70] = { RM,Ib, "PSHUFW %i,%m,%M" },
-[0x74] = { RM,0, "PCMPEQB %m,%M" },
-[0x75] = { RM,0, "PCMPEQW %m,%M" },
-[0x76] = { RM,0, "PCMPEQL %m,%M" },
-[0x77] = { 0,0, "EMMS" },
-[0x7E] = { RM,0, "MOV%S %M,%e" },
-[0x7F] = { RM,0, "MOVQ %M,%m" },
-[0xAE] = { RMOP,0, optab0FAE },
-[0xAA] = { 0,0, "RSM" },
-[0xB0] = { RM,0, "CMPXCHGB %r,%e" },
-[0xB1] = { RM,0, "CMPXCHG%S %r,%e" },
-[0xC0] = { RMB,0, "XADDB %r,%e" },
-[0xC1] = { RM,0, "XADD%S %r,%e" },
-[0xC2] = { RM,Ib, "CMP%s %x,%X,%#i" },
-[0xC3] = { RM,0, "MOVNTI%S %r,%e" },
-[0xC6] = { RM,Ib, "SHUF%s %i,%x,%X" },
-[0xC8] = { 0,0, "BSWAP AX" },
-[0xC9] = { 0,0, "BSWAP CX" },
-[0xCA] = { 0,0, "BSWAP DX" },
-[0xCB] = { 0,0, "BSWAP BX" },
-[0xCC] = { 0,0, "BSWAP SP" },
-[0xCD] = { 0,0, "BSWAP BP" },
-[0xCE] = { 0,0, "BSWAP SI" },
-[0xCF] = { 0,0, "BSWAP DI" },
-[0xD1] = { RM,0, "PSRLW %m,%M" },
-[0xD2] = { RM,0, "PSRLL %m,%M" },
-[0xD3] = { RM,0, "PSRLQ %m,%M" },
-[0xD5] = { RM,0, "PMULLW %m,%M" },
-[0xD6] = { RM,0, "MOVQOZX %m*,%X" },
-[0xD7] = { RM,0, "PMOVMSKB %m,%r" },
-[0xD8] = { RM,0, "PSUBUSB %m,%M" },
-[0xD9] = { RM,0, "PSUBUSW %m,%M" },
-[0xDA] = { RM,0, "PMINUB %m,%M" },
-[0xDB] = { RM,0, "PAND %m,%M" },
-[0xDC] = { RM,0, "PADDUSB %m,%M" },
-[0xDD] = { RM,0, "PADDUSW %m,%M" },
-[0xDE] = { RM,0, "PMAXUB %m,%M" },
-[0xDF] = { RM,0, "PANDN %m,%M" },
-[0xE0] = { RM,0, "PAVGB %m,%M" },
-[0xE1] = { RM,0, "PSRAW %m,%M" },
-[0xE2] = { RM,0, "PSRAL %m,%M" },
-[0xE3] = { RM,0, "PAVGW %m,%M" },
-[0xE4] = { RM,0, "PMULHUW %m,%M" },
-[0xE5] = { RM,0, "PMULHW %m,%M" },
-[0xE7] = { RM,0, "MOVNTQ %M,%e" },
-[0xE8] = { RM,0, "PSUBSB %m,%M" },
-[0xE9] = { RM,0, "PSUBSW %m,%M" },
-[0xEA] = { RM,0, "PMINSW %m,%M" },
-[0xEB] = { RM,0, "POR %m,%M" },
-[0xEC] = { RM,0, "PADDSB %m,%M" },
-[0xED] = { RM,0, "PADDSW %m,%M" },
-[0xEE] = { RM,0, "PMAXSW %m,%M" },
-[0xEF] = { RM,0, "PXOR %m,%M" },
-[0xF1] = { RM,0, "PSLLW %m,%M" },
-[0xF2] = { RM,0, "PSLLL %m,%M" },
-[0xF3] = { RM,0, "PSLLQ %m,%M" },
-[0xF4] = { RM,0, "PMULULQ %m,%M" },
-[0xF5] = { RM,0, "PMADDWL %m,%M" },
-[0xF6] = { RM,0, "PSADBW %m,%M" },
-[0xF7] = { RMR,0, "MASKMOVQ %m,%M" },
-[0xF8] = { RM,0, "PSUBB %m,%M" },
-[0xF9] = { RM,0, "PSUBW %m,%M" },
-[0xFA] = { RM,0, "PSUBL %m,%M" },
-[0xFC] = { RM,0, "PADDB %m,%M" },
-[0xFD] = { RM,0, "PADDW %m,%M" },
-[0xFE] = { RM,0, "PADDL %m,%M" },
-
-[0x80] = { Iwds,0, "JOS %p" },
-[0x81] = { Iwds,0, "JOC %p" },
-[0x82] = { Iwds,0, "JCS %p" },
-[0x83] = { Iwds,0, "JCC %p" },
-[0x84] = { Iwds,0, "JEQ %p" },
-[0x85] = { Iwds,0, "JNE %p" },
-[0x86] = { Iwds,0, "JLS %p" },
-[0x87] = { Iwds,0, "JHI %p" },
-[0x88] = { Iwds,0, "JMI %p" },
-[0x89] = { Iwds,0, "JPL %p" },
-[0x8a] = { Iwds,0, "JPS %p" },
-[0x8b] = { Iwds,0, "JPC %p" },
-[0x8c] = { Iwds,0, "JLT %p" },
-[0x8d] = { Iwds,0, "JGE %p" },
-[0x8e] = { Iwds,0, "JLE %p" },
-[0x8f] = { Iwds,0, "JGT %p" },
-[0x90] = { RMB,0, "SETOS %e" },
-[0x91] = { RMB,0, "SETOC %e" },
-[0x92] = { RMB,0, "SETCS %e" },
-[0x93] = { RMB,0, "SETCC %e" },
-[0x94] = { RMB,0, "SETEQ %e" },
-[0x95] = { RMB,0, "SETNE %e" },
-[0x96] = { RMB,0, "SETLS %e" },
-[0x97] = { RMB,0, "SETHI %e" },
-[0x98] = { RMB,0, "SETMI %e" },
-[0x99] = { RMB,0, "SETPL %e" },
-[0x9a] = { RMB,0, "SETPS %e" },
-[0x9b] = { RMB,0, "SETPC %e" },
-[0x9c] = { RMB,0, "SETLT %e" },
-[0x9d] = { RMB,0, "SETGE %e" },
-[0x9e] = { RMB,0, "SETLE %e" },
-[0x9f] = { RMB,0, "SETGT %e" },
-[0xa0] = { 0,0, "PUSHL FS" },
-[0xa1] = { 0,0, "POPL FS" },
-[0xa2] = { 0,0, "CPUID" },
-[0xa3] = { RM,0, "BT%S %r,%e" },
-[0xa4] = { RM,Ib, "SHLD%S %r,%i,%e" },
-[0xa5] = { RM,0, "SHLD%S %r,CL,%e" },
-[0xa8] = { 0,0, "PUSHL GS" },
-[0xa9] = { 0,0, "POPL GS" },
-[0xab] = { RM,0, "BTS%S %r,%e" },
-[0xac] = { RM,Ib, "SHRD%S %r,%i,%e" },
-[0xad] = { RM,0, "SHRD%S %r,CL,%e" },
-[0xaf] = { RM,0, "IMUL%S %e,%r" },
-[0xb2] = { RMM,0, "LSS %e,%r" },
-[0xb3] = { RM,0, "BTR%S %r,%e" },
-[0xb4] = { RMM,0, "LFS %e,%r" },
-[0xb5] = { RMM,0, "LGS %e,%r" },
-[0xb6] = { RMB,0, "MOVBZX %e,%R" },
-[0xb7] = { RM,0, "MOVWZX %e,%R" },
-[0xba] = { RMOP,0, optab0FBA },
-[0xbb] = { RM,0, "BTC%S %e,%r" },
-[0xbc] = { RM,0, "BSF%S %e,%r" },
-[0xbd] = { RM,0, "BSR%S %e,%r" },
-[0xbe] = { RMB,0, "MOVBSX %e,%R" },
-[0xbf] = { RM,0, "MOVWSX %e,%R" },
-[0xc7] = { RMOP,0, optab0FC7 },
-};
-
-static Optable optab80[8]=
-{
-[0x00] = { Ib,0, "ADDB %i,%e" },
-[0x01] = { Ib,0, "ORB %i,%e" },
-[0x02] = { Ib,0, "ADCB %i,%e" },
-[0x03] = { Ib,0, "SBBB %i,%e" },
-[0x04] = { Ib,0, "ANDB %i,%e" },
-[0x05] = { Ib,0, "SUBB %i,%e" },
-[0x06] = { Ib,0, "XORB %i,%e" },
-[0x07] = { Ib,0, "CMPB %e,%i" },
-};
-
-static Optable optab81[8]=
-{
-[0x00] = { Iwd,0, "ADD%S %i,%e" },
-[0x01] = { Iwd,0, "OR%S %i,%e" },
-[0x02] = { Iwd,0, "ADC%S %i,%e" },
-[0x03] = { Iwd,0, "SBB%S %i,%e" },
-[0x04] = { Iwd,0, "AND%S %i,%e" },
-[0x05] = { Iwd,0, "SUB%S %i,%e" },
-[0x06] = { Iwd,0, "XOR%S %i,%e" },
-[0x07] = { Iwd,0, "CMP%S %e,%i" },
-};
-
-static Optable optab83[8]=
-{
-[0x00] = { Ibs,0, "ADD%S %i,%e" },
-[0x01] = { Ibs,0, "OR%S %i,%e" },
-[0x02] = { Ibs,0, "ADC%S %i,%e" },
-[0x03] = { Ibs,0, "SBB%S %i,%e" },
-[0x04] = { Ibs,0, "AND%S %i,%e" },
-[0x05] = { Ibs,0, "SUB%S %i,%e" },
-[0x06] = { Ibs,0, "XOR%S %i,%e" },
-[0x07] = { Ibs,0, "CMP%S %e,%i" },
-};
-
-static Optable optabC0[8] =
-{
-[0x00] = { Ib,0, "ROLB %i,%e" },
-[0x01] = { Ib,0, "RORB %i,%e" },
-[0x02] = { Ib,0, "RCLB %i,%e" },
-[0x03] = { Ib,0, "RCRB %i,%e" },
-[0x04] = { Ib,0, "SHLB %i,%e" },
-[0x05] = { Ib,0, "SHRB %i,%e" },
-[0x07] = { Ib,0, "SARB %i,%e" },
-};
-
-static Optable optabC1[8] =
-{
-[0x00] = { Ib,0, "ROL%S %i,%e" },
-[0x01] = { Ib,0, "ROR%S %i,%e" },
-[0x02] = { Ib,0, "RCL%S %i,%e" },
-[0x03] = { Ib,0, "RCR%S %i,%e" },
-[0x04] = { Ib,0, "SHL%S %i,%e" },
-[0x05] = { Ib,0, "SHR%S %i,%e" },
-[0x07] = { Ib,0, "SAR%S %i,%e" },
-};
-
-static Optable optabD0[8] =
-{
-[0x00] = { 0,0, "ROLB %e" },
-[0x01] = { 0,0, "RORB %e" },
-[0x02] = { 0,0, "RCLB %e" },
-[0x03] = { 0,0, "RCRB %e" },
-[0x04] = { 0,0, "SHLB %e" },
-[0x05] = { 0,0, "SHRB %e" },
-[0x07] = { 0,0, "SARB %e" },
-};
-
-static Optable optabD1[8] =
-{
-[0x00] = { 0,0, "ROL%S %e" },
-[0x01] = { 0,0, "ROR%S %e" },
-[0x02] = { 0,0, "RCL%S %e" },
-[0x03] = { 0,0, "RCR%S %e" },
-[0x04] = { 0,0, "SHL%S %e" },
-[0x05] = { 0,0, "SHR%S %e" },
-[0x07] = { 0,0, "SAR%S %e" },
-};
-
-static Optable optabD2[8] =
-{
-[0x00] = { 0,0, "ROLB CL,%e" },
-[0x01] = { 0,0, "RORB CL,%e" },
-[0x02] = { 0,0, "RCLB CL,%e" },
-[0x03] = { 0,0, "RCRB CL,%e" },
-[0x04] = { 0,0, "SHLB CL,%e" },
-[0x05] = { 0,0, "SHRB CL,%e" },
-[0x07] = { 0,0, "SARB CL,%e" },
-};
-
-static Optable optabD3[8] =
-{
-[0x00] = { 0,0, "ROL%S CL,%e" },
-[0x01] = { 0,0, "ROR%S CL,%e" },
-[0x02] = { 0,0, "RCL%S CL,%e" },
-[0x03] = { 0,0, "RCR%S CL,%e" },
-[0x04] = { 0,0, "SHL%S CL,%e" },
-[0x05] = { 0,0, "SHR%S CL,%e" },
-[0x07] = { 0,0, "SAR%S CL,%e" },
-};
-
-static Optable optabD8[8+8] =
-{
-[0x00] = { 0,0, "FADDF %e,F0" },
-[0x01] = { 0,0, "FMULF %e,F0" },
-[0x02] = { 0,0, "FCOMF %e,F0" },
-[0x03] = { 0,0, "FCOMFP %e,F0" },
-[0x04] = { 0,0, "FSUBF %e,F0" },
-[0x05] = { 0,0, "FSUBRF %e,F0" },
-[0x06] = { 0,0, "FDIVF %e,F0" },
-[0x07] = { 0,0, "FDIVRF %e,F0" },
-[0x08] = { 0,0, "FADDD %f,F0" },
-[0x09] = { 0,0, "FMULD %f,F0" },
-[0x0a] = { 0,0, "FCOMD %f,F0" },
-[0x0b] = { 0,0, "FCOMPD %f,F0" },
-[0x0c] = { 0,0, "FSUBD %f,F0" },
-[0x0d] = { 0,0, "FSUBRD %f,F0" },
-[0x0e] = { 0,0, "FDIVD %f,F0" },
-[0x0f] = { 0,0, "FDIVRD %f,F0" },
-};
-/*
- * optabD9 and optabDB use the following encoding:
- * if (0 <= modrm <= 2) instruction = optabDx[modrm&0x07];
- * else instruction = optabDx[(modrm&0x3f)+8];
- *
- * the instructions for MOD == 3, follow the 8 instructions
- * for the other MOD values stored at the front of the table.
- */
-static Optable optabD9[64+8] =
-{
-[0x00] = { 0,0, "FMOVF %e,F0" },
-[0x02] = { 0,0, "FMOVF F0,%e" },
-[0x03] = { 0,0, "FMOVFP F0,%e" },
-[0x04] = { 0,0, "FLDENV%S %e" },
-[0x05] = { 0,0, "FLDCW %e" },
-[0x06] = { 0,0, "FSTENV%S %e" },
-[0x07] = { 0,0, "FSTCW %e" },
-[0x08] = { 0,0, "FMOVD F0,F0" }, /* Mod R/M = 11xx xxxx*/
-[0x09] = { 0,0, "FMOVD F1,F0" },
-[0x0a] = { 0,0, "FMOVD F2,F0" },
-[0x0b] = { 0,0, "FMOVD F3,F0" },
-[0x0c] = { 0,0, "FMOVD F4,F0" },
-[0x0d] = { 0,0, "FMOVD F5,F0" },
-[0x0e] = { 0,0, "FMOVD F6,F0" },
-[0x0f] = { 0,0, "FMOVD F7,F0" },
-[0x10] = { 0,0, "FXCHD F0,F0" },
-[0x11] = { 0,0, "FXCHD F1,F0" },
-[0x12] = { 0,0, "FXCHD F2,F0" },
-[0x13] = { 0,0, "FXCHD F3,F0" },
-[0x14] = { 0,0, "FXCHD F4,F0" },
-[0x15] = { 0,0, "FXCHD F5,F0" },
-[0x16] = { 0,0, "FXCHD F6,F0" },
-[0x17] = { 0,0, "FXCHD F7,F0" },
-[0x18] = { 0,0, "FNOP" },
-[0x28] = { 0,0, "FCHS" },
-[0x29] = { 0,0, "FABS" },
-[0x2c] = { 0,0, "FTST" },
-[0x2d] = { 0,0, "FXAM" },
-[0x30] = { 0,0, "FLD1" },
-[0x31] = { 0,0, "FLDL2T" },
-[0x32] = { 0,0, "FLDL2E" },
-[0x33] = { 0,0, "FLDPI" },
-[0x34] = { 0,0, "FLDLG2" },
-[0x35] = { 0,0, "FLDLN2" },
-[0x36] = { 0,0, "FLDZ" },
-[0x38] = { 0,0, "F2XM1" },
-[0x39] = { 0,0, "FYL2X" },
-[0x3a] = { 0,0, "FPTAN" },
-[0x3b] = { 0,0, "FPATAN" },
-[0x3c] = { 0,0, "FXTRACT" },
-[0x3d] = { 0,0, "FPREM1" },
-[0x3e] = { 0,0, "FDECSTP" },
-[0x3f] = { 0,0, "FNCSTP" },
-[0x40] = { 0,0, "FPREM" },
-[0x41] = { 0,0, "FYL2XP1" },
-[0x42] = { 0,0, "FSQRT" },
-[0x43] = { 0,0, "FSINCOS" },
-[0x44] = { 0,0, "FRNDINT" },
-[0x45] = { 0,0, "FSCALE" },
-[0x46] = { 0,0, "FSIN" },
-[0x47] = { 0,0, "FCOS" },
-};
-
-static Optable optabDA[8+8] =
-{
-[0x00] = { 0,0, "FADDL %e,F0" },
-[0x01] = { 0,0, "FMULL %e,F0" },
-[0x02] = { 0,0, "FCOML %e,F0" },
-[0x03] = { 0,0, "FCOMLP %e,F0" },
-[0x04] = { 0,0, "FSUBL %e,F0" },
-[0x05] = { 0,0, "FSUBRL %e,F0" },
-[0x06] = { 0,0, "FDIVL %e,F0" },
-[0x07] = { 0,0, "FDIVRL %e,F0" },
-[0x08] = { 0,0, "FCMOVCS %f,F0" },
-[0x09] = { 0,0, "FCMOVEQ %f,F0" },
-[0x0a] = { 0,0, "FCMOVLS %f,F0" },
-[0x0b] = { 0,0, "FCMOVUN %f,F0" },
-[0x0d] = { Op_R1,0, "FUCOMPP" },
-};
-
-static Optable optabDB[8+64] =
-{
-[0x00] = { 0,0, "FMOVL %e,F0" },
-[0x02] = { 0,0, "FMOVL F0,%e" },
-[0x03] = { 0,0, "FMOVLP F0,%e" },
-[0x05] = { 0,0, "FMOVX %e,F0" },
-[0x07] = { 0,0, "FMOVXP F0,%e" },
-[0x08] = { 0,0, "FCMOVCC F0,F0" }, /* Mod R/M = 11xx xxxx*/
-[0x09] = { 0,0, "FCMOVCC F1,F0" },
-[0x0a] = { 0,0, "FCMOVCC F2,F0" },
-[0x0b] = { 0,0, "FCMOVCC F3,F0" },
-[0x0c] = { 0,0, "FCMOVCC F4,F0" },
-[0x0d] = { 0,0, "FCMOVCC F5,F0" },
-[0x0e] = { 0,0, "FCMOVCC F6,F0" },
-[0x0f] = { 0,0, "FCMOVCC F7,F0" },
-[0x10] = { 0,0, "FCMOVNE F0,F0" },
-[0x11] = { 0,0, "FCMOVNE F1,F0" },
-[0x12] = { 0,0, "FCMOVNE F2,F0" },
-[0x13] = { 0,0, "FCMOVNE F3,F0" },
-[0x14] = { 0,0, "FCMOVNE F4,F0" },
-[0x15] = { 0,0, "FCMOVNE F5,F0" },
-[0x16] = { 0,0, "FCMOVNE F6,F0" },
-[0x17] = { 0,0, "FCMOVNE F7,F0" },
-[0x18] = { 0,0, "FCMOVHI F0,F0" },
-[0x19] = { 0,0, "FCMOVHI F1,F0" },
-[0x1a] = { 0,0, "FCMOVHI F2,F0" },
-[0x1b] = { 0,0, "FCMOVHI F3,F0" },
-[0x1c] = { 0,0, "FCMOVHI F4,F0" },
-[0x1d] = { 0,0, "FCMOVHI F5,F0" },
-[0x1e] = { 0,0, "FCMOVHI F6,F0" },
-[0x1f] = { 0,0, "FCMOVHI F7,F0" },
-[0x20] = { 0,0, "FCMOVNU F0,F0" },
-[0x21] = { 0,0, "FCMOVNU F1,F0" },
-[0x22] = { 0,0, "FCMOVNU F2,F0" },
-[0x23] = { 0,0, "FCMOVNU F3,F0" },
-[0x24] = { 0,0, "FCMOVNU F4,F0" },
-[0x25] = { 0,0, "FCMOVNU F5,F0" },
-[0x26] = { 0,0, "FCMOVNU F6,F0" },
-[0x27] = { 0,0, "FCMOVNU F7,F0" },
-[0x2a] = { 0,0, "FCLEX" },
-[0x2b] = { 0,0, "FINIT" },
-[0x30] = { 0,0, "FUCOMI F0,F0" },
-[0x31] = { 0,0, "FUCOMI F1,F0" },
-[0x32] = { 0,0, "FUCOMI F2,F0" },
-[0x33] = { 0,0, "FUCOMI F3,F0" },
-[0x34] = { 0,0, "FUCOMI F4,F0" },
-[0x35] = { 0,0, "FUCOMI F5,F0" },
-[0x36] = { 0,0, "FUCOMI F6,F0" },
-[0x37] = { 0,0, "FUCOMI F7,F0" },
-[0x38] = { 0,0, "FCOMI F0,F0" },
-[0x39] = { 0,0, "FCOMI F1,F0" },
-[0x3a] = { 0,0, "FCOMI F2,F0" },
-[0x3b] = { 0,0, "FCOMI F3,F0" },
-[0x3c] = { 0,0, "FCOMI F4,F0" },
-[0x3d] = { 0,0, "FCOMI F5,F0" },
-[0x3e] = { 0,0, "FCOMI F6,F0" },
-[0x3f] = { 0,0, "FCOMI F7,F0" },
-};
-
-static Optable optabDC[8+8] =
-{
-[0x00] = { 0,0, "FADDD %e,F0" },
-[0x01] = { 0,0, "FMULD %e,F0" },
-[0x02] = { 0,0, "FCOMD %e,F0" },
-[0x03] = { 0,0, "FCOMDP %e,F0" },
-[0x04] = { 0,0, "FSUBD %e,F0" },
-[0x05] = { 0,0, "FSUBRD %e,F0" },
-[0x06] = { 0,0, "FDIVD %e,F0" },
-[0x07] = { 0,0, "FDIVRD %e,F0" },
-[0x08] = { 0,0, "FADDD F0,%f" },
-[0x09] = { 0,0, "FMULD F0,%f" },
-[0x0c] = { 0,0, "FSUBRD F0,%f" },
-[0x0d] = { 0,0, "FSUBD F0,%f" },
-[0x0e] = { 0,0, "FDIVRD F0,%f" },
-[0x0f] = { 0,0, "FDIVD F0,%f" },
-};
-
-static Optable optabDD[8+8] =
-{
-[0x00] = { 0,0, "FMOVD %e,F0" },
-[0x02] = { 0,0, "FMOVD F0,%e" },
-[0x03] = { 0,0, "FMOVDP F0,%e" },
-[0x04] = { 0,0, "FRSTOR%S %e" },
-[0x06] = { 0,0, "FSAVE%S %e" },
-[0x07] = { 0,0, "FSTSW %e" },
-[0x08] = { 0,0, "FFREED %f" },
-[0x0a] = { 0,0, "FMOVD %f,F0" },
-[0x0b] = { 0,0, "FMOVDP %f,F0" },
-[0x0c] = { 0,0, "FUCOMD %f,F0" },
-[0x0d] = { 0,0, "FUCOMDP %f,F0" },
-};
-
-static Optable optabDE[8+8] =
-{
-[0x00] = { 0,0, "FADDW %e,F0" },
-[0x01] = { 0,0, "FMULW %e,F0" },
-[0x02] = { 0,0, "FCOMW %e,F0" },
-[0x03] = { 0,0, "FCOMWP %e,F0" },
-[0x04] = { 0,0, "FSUBW %e,F0" },
-[0x05] = { 0,0, "FSUBRW %e,F0" },
-[0x06] = { 0,0, "FDIVW %e,F0" },
-[0x07] = { 0,0, "FDIVRW %e,F0" },
-[0x08] = { 0,0, "FADDDP F0,%f" },
-[0x09] = { 0,0, "FMULDP F0,%f" },
-[0x0b] = { Op_R1,0, "FCOMPDP" },
-[0x0c] = { 0,0, "FSUBRDP F0,%f" },
-[0x0d] = { 0,0, "FSUBDP F0,%f" },
-[0x0e] = { 0,0, "FDIVRDP F0,%f" },
-[0x0f] = { 0,0, "FDIVDP F0,%f" },
-};
-
-static Optable optabDF[8+8] =
-{
-[0x00] = { 0,0, "FMOVW %e,F0" },
-[0x02] = { 0,0, "FMOVW F0,%e" },
-[0x03] = { 0,0, "FMOVWP F0,%e" },
-[0x04] = { 0,0, "FBLD %e" },
-[0x05] = { 0,0, "FMOVL %e,F0" },
-[0x06] = { 0,0, "FBSTP %e" },
-[0x07] = { 0,0, "FMOVLP F0,%e" },
-[0x0c] = { Op_R0,0, "FSTSW %OAX" },
-[0x0d] = { 0,0, "FUCOMIP F0,%f" },
-[0x0e] = { 0,0, "FCOMIP F0,%f" },
-};
-
-static Optable optabF6[8] =
-{
-[0x00] = { Ib,0, "TESTB %i,%e" },
-[0x02] = { 0,0, "NOTB %e" },
-[0x03] = { 0,0, "NEGB %e" },
-[0x04] = { 0,0, "MULB AL,%e" },
-[0x05] = { 0,0, "IMULB AL,%e" },
-[0x06] = { 0,0, "DIVB AL,%e" },
-[0x07] = { 0,0, "IDIVB AL,%e" },
-};
-
-static Optable optabF7[8] =
-{
-[0x00] = { Iwd,0, "TEST%S %i,%e" },
-[0x02] = { 0,0, "NOT%S %e" },
-[0x03] = { 0,0, "NEG%S %e" },
-[0x04] = { 0,0, "MUL%S %OAX,%e" },
-[0x05] = { 0,0, "IMUL%S %OAX,%e" },
-[0x06] = { 0,0, "DIV%S %OAX,%e" },
-[0x07] = { 0,0, "IDIV%S %OAX,%e" },
-};
-
-static Optable optabFE[8] =
-{
-[0x00] = { 0,0, "INCB %e" },
-[0x01] = { 0,0, "DECB %e" },
-};
-
-static Optable optabFF[8] =
-{
-[0x00] = { 0,0, "INC%S %e" },
-[0x01] = { 0,0, "DEC%S %e" },
-[0x02] = { JUMP,0, "CALL* %e" },
-[0x03] = { JUMP,0, "CALLF* %e" },
-[0x04] = { JUMP,0, "JMP* %e" },
-[0x05] = { JUMP,0, "JMPF* %e" },
-[0x06] = { 0,0, "PUSHL %e" },
-};
-
-static Optable optable[256+2] =
-{
-[0x00] = { RMB,0, "ADDB %r,%e" },
-[0x01] = { RM,0, "ADD%S %r,%e" },
-[0x02] = { RMB,0, "ADDB %e,%r" },
-[0x03] = { RM,0, "ADD%S %e,%r" },
-[0x04] = { Ib,0, "ADDB %i,AL" },
-[0x05] = { Iwd,0, "ADD%S %i,%OAX" },
-[0x06] = { 0,0, "PUSHL ES" },
-[0x07] = { 0,0, "POPL ES" },
-[0x08] = { RMB,0, "ORB %r,%e" },
-[0x09] = { RM,0, "OR%S %r,%e" },
-[0x0a] = { RMB,0, "ORB %e,%r" },
-[0x0b] = { RM,0, "OR%S %e,%r" },
-[0x0c] = { Ib,0, "ORB %i,AL" },
-[0x0d] = { Iwd,0, "OR%S %i,%OAX" },
-[0x0e] = { 0,0, "PUSHL CS" },
-[0x0f] = { AUXMM,0, optab0F },
-[0x10] = { RMB,0, "ADCB %r,%e" },
-[0x11] = { RM,0, "ADC%S %r,%e" },
-[0x12] = { RMB,0, "ADCB %e,%r" },
-[0x13] = { RM,0, "ADC%S %e,%r" },
-[0x14] = { Ib,0, "ADCB %i,AL" },
-[0x15] = { Iwd,0, "ADC%S %i,%OAX" },
-[0x16] = { 0,0, "PUSHL SS" },
-[0x17] = { 0,0, "POPL SS" },
-[0x18] = { RMB,0, "SBBB %r,%e" },
-[0x19] = { RM,0, "SBB%S %r,%e" },
-[0x1a] = { RMB,0, "SBBB %e,%r" },
-[0x1b] = { RM,0, "SBB%S %e,%r" },
-[0x1c] = { Ib,0, "SBBB %i,AL" },
-[0x1d] = { Iwd,0, "SBB%S %i,%OAX" },
-[0x1e] = { 0,0, "PUSHL DS" },
-[0x1f] = { 0,0, "POPL DS" },
-[0x20] = { RMB,0, "ANDB %r,%e" },
-[0x21] = { RM,0, "AND%S %r,%e" },
-[0x22] = { RMB,0, "ANDB %e,%r" },
-[0x23] = { RM,0, "AND%S %e,%r" },
-[0x24] = { Ib,0, "ANDB %i,AL" },
-[0x25] = { Iwd,0, "AND%S %i,%OAX" },
-[0x26] = { SEG,0, "ES:" },
-[0x27] = { 0,0, "DAA" },
-[0x28] = { RMB,0, "SUBB %r,%e" },
-[0x29] = { RM,0, "SUB%S %r,%e" },
-[0x2a] = { RMB,0, "SUBB %e,%r" },
-[0x2b] = { RM,0, "SUB%S %e,%r" },
-[0x2c] = { Ib,0, "SUBB %i,AL" },
-[0x2d] = { Iwd,0, "SUB%S %i,%OAX" },
-[0x2e] = { SEG,0, "CS:" },
-[0x2f] = { 0,0, "DAS" },
-[0x30] = { RMB,0, "XORB %r,%e" },
-[0x31] = { RM,0, "XOR%S %r,%e" },
-[0x32] = { RMB,0, "XORB %e,%r" },
-[0x33] = { RM,0, "XOR%S %e,%r" },
-[0x34] = { Ib,0, "XORB %i,AL" },
-[0x35] = { Iwd,0, "XOR%S %i,%OAX" },
-[0x36] = { SEG,0, "SS:" },
-[0x37] = { 0,0, "AAA" },
-[0x38] = { RMB,0, "CMPB %r,%e" },
-[0x39] = { RM,0, "CMP%S %r,%e" },
-[0x3a] = { RMB,0, "CMPB %e,%r" },
-[0x3b] = { RM,0, "CMP%S %e,%r" },
-[0x3c] = { Ib,0, "CMPB %i,AL" },
-[0x3d] = { Iwd,0, "CMP%S %i,%OAX" },
-[0x3e] = { SEG,0, "DS:" },
-[0x3f] = { 0,0, "AAS" },
-[0x40] = { 0,0, "INC%S %OAX" },
-[0x41] = { 0,0, "INC%S %OCX" },
-[0x42] = { 0,0, "INC%S %ODX" },
-[0x43] = { 0,0, "INC%S %OBX" },
-[0x44] = { 0,0, "INC%S %OSP" },
-[0x45] = { 0,0, "INC%S %OBP" },
-[0x46] = { 0,0, "INC%S %OSI" },
-[0x47] = { 0,0, "INC%S %ODI" },
-[0x48] = { 0,0, "DEC%S %OAX" },
-[0x49] = { 0,0, "DEC%S %OCX" },
-[0x4a] = { 0,0, "DEC%S %ODX" },
-[0x4b] = { 0,0, "DEC%S %OBX" },
-[0x4c] = { 0,0, "DEC%S %OSP" },
-[0x4d] = { 0,0, "DEC%S %OBP" },
-[0x4e] = { 0,0, "DEC%S %OSI" },
-[0x4f] = { 0,0, "DEC%S %ODI" },
-[0x50] = { 0,0, "PUSH%S %OAX" },
-[0x51] = { 0,0, "PUSH%S %OCX" },
-[0x52] = { 0,0, "PUSH%S %ODX" },
-[0x53] = { 0,0, "PUSH%S %OBX" },
-[0x54] = { 0,0, "PUSH%S %OSP" },
-[0x55] = { 0,0, "PUSH%S %OBP" },
-[0x56] = { 0,0, "PUSH%S %OSI" },
-[0x57] = { 0,0, "PUSH%S %ODI" },
-[0x58] = { 0,0, "POP%S %OAX" },
-[0x59] = { 0,0, "POP%S %OCX" },
-[0x5a] = { 0,0, "POP%S %ODX" },
-[0x5b] = { 0,0, "POP%S %OBX" },
-[0x5c] = { 0,0, "POP%S %OSP" },
-[0x5d] = { 0,0, "POP%S %OBP" },
-[0x5e] = { 0,0, "POP%S %OSI" },
-[0x5f] = { 0,0, "POP%S %ODI" },
-[0x60] = { 0,0, "PUSHA%S" },
-[0x61] = { 0,0, "POPA%S" },
-[0x62] = { RMM,0, "BOUND %e,%r" },
-[0x63] = { RM,0, "ARPL %r,%e" },
-[0x64] = { SEG,0, "FS:" },
-[0x65] = { SEG,0, "GS:" },
-[0x66] = { OPOVER,0, "" },
-[0x67] = { ADDOVER,0, "" },
-[0x68] = { Iwd,0, "PUSH%S %i" },
-[0x69] = { RM,Iwd, "IMUL%S %e,%i,%r" },
-[0x6a] = { Ib,0, "PUSH%S %i" },
-[0x6b] = { RM,Ibs, "IMUL%S %e,%i,%r" },
-[0x6c] = { 0,0, "INSB DX,(%ODI)" },
-[0x6d] = { 0,0, "INS%S DX,(%ODI)" },
-[0x6e] = { 0,0, "OUTSB (%ASI),DX" },
-[0x6f] = { 0,0, "OUTS%S (%ASI),DX" },
-[0x70] = { Jbs,0, "JOS %p" },
-[0x71] = { Jbs,0, "JOC %p" },
-[0x72] = { Jbs,0, "JCS %p" },
-[0x73] = { Jbs,0, "JCC %p" },
-[0x74] = { Jbs,0, "JEQ %p" },
-[0x75] = { Jbs,0, "JNE %p" },
-[0x76] = { Jbs,0, "JLS %p" },
-[0x77] = { Jbs,0, "JHI %p" },
-[0x78] = { Jbs,0, "JMI %p" },
-[0x79] = { Jbs,0, "JPL %p" },
-[0x7a] = { Jbs,0, "JPS %p" },
-[0x7b] = { Jbs,0, "JPC %p" },
-[0x7c] = { Jbs,0, "JLT %p" },
-[0x7d] = { Jbs,0, "JGE %p" },
-[0x7e] = { Jbs,0, "JLE %p" },
-[0x7f] = { Jbs,0, "JGT %p" },
-[0x80] = { RMOPB,0, optab80 },
-[0x81] = { RMOP,0, optab81 },
-[0x83] = { RMOP,0, optab83 },
-[0x84] = { RMB,0, "TESTB %r,%e" },
-[0x85] = { RM,0, "TEST%S %r,%e" },
-[0x86] = { RMB,0, "XCHGB %r,%e" },
-[0x87] = { RM,0, "XCHG%S %r,%e" },
-[0x88] = { RMB,0, "MOVB %r,%e" },
-[0x89] = { RM,0, "MOV%S %r,%e" },
-[0x8a] = { RMB,0, "MOVB %e,%r" },
-[0x8b] = { RM,0, "MOV%S %e,%r" },
-[0x8c] = { RM,0, "MOVW %g,%e" },
-[0x8d] = { RM,0, "LEA%S %e,%r" },
-[0x8e] = { RM,0, "MOVW %e,%g" },
-[0x8f] = { RM,0, "POP%S %e" },
-[0x90] = { 0,0, "NOP" },
-[0x91] = { 0,0, "XCHG %OCX,%OAX" },
-[0x92] = { 0,0, "XCHG %ODX,%OAX" },
-[0x93] = { 0,0, "XCHG %OBX,%OAX" },
-[0x94] = { 0,0, "XCHG %OSP,%OAX" },
-[0x95] = { 0,0, "XCHG %OBP,%OAX" },
-[0x96] = { 0,0, "XCHG %OSI,%OAX" },
-[0x97] = { 0,0, "XCHG %ODI,%OAX" },
-[0x98] = { 0,0, "%W" }, /* miserable CBW or CWDE */
-[0x99] = { 0,0, "%w" }, /* idiotic CWD or CDQ */
-[0x9a] = { PTR,0, "CALL%S %d" },
-[0x9b] = { 0,0, "WAIT" },
-[0x9c] = { 0,0, "PUSHF" },
-[0x9d] = { 0,0, "POPF" },
-[0x9e] = { 0,0, "SAHF" },
-[0x9f] = { 0,0, "LAHF" },
-[0xa0] = { Awd,0, "MOVB %i,AL" },
-[0xa1] = { Awd,0, "MOV%S %i,%OAX" },
-[0xa2] = { Awd,0, "MOVB AL,%i" },
-[0xa3] = { Awd,0, "MOV%S %OAX,%i" },
-[0xa4] = { 0,0, "MOVSB (%ASI),(%ADI)" },
-[0xa5] = { 0,0, "MOVS%S (%ASI),(%ADI)" },
-[0xa6] = { 0,0, "CMPSB (%ASI),(%ADI)" },
-[0xa7] = { 0,0, "CMPS%S (%ASI),(%ADI)" },
-[0xa8] = { Ib,0, "TESTB %i,AL" },
-[0xa9] = { Iwd,0, "TEST%S %i,%OAX" },
-[0xaa] = { 0,0, "STOSB AL,(%ADI)" },
-[0xab] = { 0,0, "STOS%S %OAX,(%ADI)" },
-[0xac] = { 0,0, "LODSB (%ASI),AL" },
-[0xad] = { 0,0, "LODS%S (%ASI),%OAX" },
-[0xae] = { 0,0, "SCASB (%ADI),AL" },
-[0xaf] = { 0,0, "SCAS%S (%ADI),%OAX" },
-[0xb0] = { Ib,0, "MOVB %i,AL" },
-[0xb1] = { Ib,0, "MOVB %i,CL" },
-[0xb2] = { Ib,0, "MOVB %i,DL" },
-[0xb3] = { Ib,0, "MOVB %i,BL" },
-[0xb4] = { Ib,0, "MOVB %i,AH" },
-[0xb5] = { Ib,0, "MOVB %i,CH" },
-[0xb6] = { Ib,0, "MOVB %i,DH" },
-[0xb7] = { Ib,0, "MOVB %i,BH" },
-[0xb8] = { Iwdq,0, "MOV%S %i,%o" },
-[0xb9] = { Iwdq,0, "MOV%S %i,%o" },
-[0xba] = { Iwdq,0, "MOV%S %i,%o" },
-[0xbb] = { Iwdq,0, "MOV%S %i,%o" },
-[0xbc] = { Iwdq,0, "MOV%S %i,%o" },
-[0xbd] = { Iwdq,0, "MOV%S %i,%o" },
-[0xbe] = { Iwdq,0, "MOV%S %i,%o" },
-[0xbf] = { Iwdq,0, "MOV%S %i,%o" },
-[0xc0] = { RMOPB,0, optabC0 },
-[0xc1] = { RMOP,0, optabC1 },
-[0xc2] = { Iw,0, "RET %i" },
-[0xc3] = { RET,0, "RET" },
-[0xc4] = { RM,0, "LES %e,%r" },
-[0xc5] = { RM,0, "LDS %e,%r" },
-[0xc6] = { RMB,Ib, "MOVB %i,%e" },
-[0xc7] = { RM,Iwd, "MOV%S %i,%e" },
-[0xc8] = { Iw2,Ib, "ENTER %i,%I" }, /* loony ENTER */
-[0xc9] = { RET,0, "LEAVE" }, /* bizarre LEAVE */
-[0xca] = { Iw,0, "RETF %i" },
-[0xcb] = { RET,0, "RETF" },
-[0xcc] = { 0,0, "INT 3" },
-[0xcd] = { Ib,0, "INTB %i" },
-[0xce] = { 0,0, "INTO" },
-[0xcf] = { 0,0, "IRET" },
-[0xd0] = { RMOPB,0, optabD0 },
-[0xd1] = { RMOP,0, optabD1 },
-[0xd2] = { RMOPB,0, optabD2 },
-[0xd3] = { RMOP,0, optabD3 },
-[0xd4] = { OA,0, "AAM" },
-[0xd5] = { OA,0, "AAD" },
-[0xd7] = { 0,0, "XLAT" },
-[0xd8] = { FRMOP,0, optabD8 },
-[0xd9] = { FRMEX,0, optabD9 },
-[0xda] = { FRMOP,0, optabDA },
-[0xdb] = { FRMEX,0, optabDB },
-[0xdc] = { FRMOP,0, optabDC },
-[0xdd] = { FRMOP,0, optabDD },
-[0xde] = { FRMOP,0, optabDE },
-[0xdf] = { FRMOP,0, optabDF },
-[0xe0] = { Jbs,0, "LOOPNE %p" },
-[0xe1] = { Jbs,0, "LOOPE %p" },
-[0xe2] = { Jbs,0, "LOOP %p" },
-[0xe3] = { Jbs,0, "JCXZ %p" },
-[0xe4] = { Ib,0, "INB %i,AL" },
-[0xe5] = { Ib,0, "IN%S %i,%OAX" },
-[0xe6] = { Ib,0, "OUTB AL,%i" },
-[0xe7] = { Ib,0, "OUT%S %OAX,%i" },
-[0xe8] = { Iwds,0, "CALL %p" },
-[0xe9] = { Iwds,0, "JMP %p" },
-[0xea] = { PTR,0, "JMP %d" },
-[0xeb] = { Jbs,0, "JMP %p" },
-[0xec] = { 0,0, "INB DX,AL" },
-[0xed] = { 0,0, "IN%S DX,%OAX" },
-[0xee] = { 0,0, "OUTB AL,DX" },
-[0xef] = { 0,0, "OUT%S %OAX,DX" },
-[0xf0] = { PRE,0, "LOCK" },
-[0xf2] = { OPRE,0, "REPNE" },
-[0xf3] = { OPRE,0, "REP" },
-[0xf4] = { 0,0, "HLT" },
-[0xf5] = { 0,0, "CMC" },
-[0xf6] = { RMOPB,0, optabF6 },
-[0xf7] = { RMOP,0, optabF7 },
-[0xf8] = { 0,0, "CLC" },
-[0xf9] = { 0,0, "STC" },
-[0xfa] = { 0,0, "CLI" },
-[0xfb] = { 0,0, "STI" },
-[0xfc] = { 0,0, "CLD" },
-[0xfd] = { 0,0, "STD" },
-[0xfe] = { RMOPB,0, optabFE },
-[0xff] = { RMOP,0, optabFF },
-[0x100] = { RM,0, "MOVLQSX %e,%r" },
-[0x101] = { RM,0, "MOVLQZX %e,%r" },
-};
-
-/*
- * get a byte of the instruction
- */
-static int
-igetc(Map *map, Instr *ip, uchar *c)
-{
- if(ip->n+1 > sizeof(ip->mem)){
- werrstr("instruction too long");
- return -1;
- }
- if (get1(map, ip->addr+ip->n, c, 1) < 0) {
- werrstr("can't read instruction: %r");
- return -1;
- }
- ip->mem[ip->n++] = *c;
- return 1;
-}
-
-/*
- * get two bytes of the instruction
- */
-static int
-igets(Map *map, Instr *ip, ushort *sp)
-{
- uchar c;
- ushort s;
-
- if (igetc(map, ip, &c) < 0)
- return -1;
- s = c;
- if (igetc(map, ip, &c) < 0)
- return -1;
- s |= (c<<8);
- *sp = s;
- return 1;
-}
-
-/*
- * get 4 bytes of the instruction
- */
-static int
-igetl(Map *map, Instr *ip, uint32 *lp)
-{
- ushort s;
- int32 l;
-
- if (igets(map, ip, &s) < 0)
- return -1;
- l = s;
- if (igets(map, ip, &s) < 0)
- return -1;
- l |= (s<<16);
- *lp = l;
- return 1;
-}
-
-/*
- * get 8 bytes of the instruction
- *
-static int
-igetq(Map *map, Instr *ip, vlong *qp)
-{
- uint32 l;
- uvlong q;
-
- if (igetl(map, ip, &l) < 0)
- return -1;
- q = l;
- if (igetl(map, ip, &l) < 0)
- return -1;
- q |= ((uvlong)l<<32);
- *qp = q;
- return 1;
-}
- */
-
-static int
-getdisp(Map *map, Instr *ip, int mod, int rm, int code, int pcrel)
-{
- uchar c;
- ushort s;
-
- if (mod > 2)
- return 1;
- if (mod == 1) {
- if (igetc(map, ip, &c) < 0)
- return -1;
- if (c&0x80)
- ip->disp = c|0xffffff00;
- else
- ip->disp = c&0xff;
- } else if (mod == 2 || rm == code) {
- if (ip->asize == 'E') {
- if (igetl(map, ip, &ip->disp) < 0)
- return -1;
- if (mod == 0)
- ip->rip = pcrel;
- } else {
- if (igets(map, ip, &s) < 0)
- return -1;
- if (s&0x8000)
- ip->disp = s|0xffff0000;
- else
- ip->disp = s;
- }
- if (mod == 0)
- ip->base = -1;
- }
- return 1;
-}
-
-static int
-modrm(Map *map, Instr *ip, uchar c)
-{
- uchar rm, mod;
-
- mod = (c>>6)&3;
- rm = c&7;
- ip->mod = mod;
- ip->base = rm;
- ip->reg = (c>>3)&7;
- ip->rip = 0;
- if (mod == 3) /* register */
- return 1;
- if (ip->asize == 0) { /* 16-bit mode */
- switch(rm) {
- case 0:
- ip->base = BX; ip->index = SI;
- break;
- case 1:
- ip->base = BX; ip->index = DI;
- break;
- case 2:
- ip->base = BP; ip->index = SI;
- break;
- case 3:
- ip->base = BP; ip->index = DI;
- break;
- case 4:
- ip->base = SI;
- break;
- case 5:
- ip->base = DI;
- break;
- case 6:
- ip->base = BP;
- break;
- case 7:
- ip->base = BX;
- break;
- default:
- break;
- }
- return getdisp(map, ip, mod, rm, 6, 0);
- }
- if (rm == 4) { /* scummy sib byte */
- if (igetc(map, ip, &c) < 0)
- return -1;
- ip->ss = (c>>6)&0x03;
- ip->index = (c>>3)&0x07;
- if (ip->index == 4)
- ip->index = -1;
- ip->base = c&0x07;
- return getdisp(map, ip, mod, ip->base, 5, 0);
- }
- return getdisp(map, ip, mod, rm, 5, ip->amd64);
-}
-
-static char *
-_hexify(char *buf, uint32 p, int zeros)
-{
- uint32 d;
-
- d = p/16;
- if(d)
- buf = _hexify(buf, d, zeros-1);
- else
- while(zeros--)
- *buf++ = '0';
- *buf++ = "0123456789abcdef"[p&0x0f];
- return buf;
-}
-
-static Optable *
-mkinstr(Map *map, Instr *ip, uvlong pc, int is64)
-{
- int i, n, norex;
- uchar c;
- ushort s;
- Optable *op, *obase;
- char buf[128];
-
- memset(ip, 0, sizeof(*ip));
- norex = 1;
- ip->base = -1;
- ip->index = -1;
- ip->osize = 'L';
- ip->asize = 'E';
- ip->amd64 = is64;
- norex = 0;
- ip->addr = pc;
- if (igetc(map, ip, &c) < 0)
- return 0;
- obase = optable;
-newop:
- if(ip->amd64 && !norex){
- if(c >= 0x40 && c <= 0x4f) {
- ip->rex = c;
- if(igetc(map, ip, &c) < 0)
- return 0;
- }
- if(c == 0x63){
- if(ip->rex&REXW)
- op = &obase[0x100]; /* MOVLQSX */
- else
- op = &obase[0x101]; /* MOVLQZX */
- goto hack;
- }
- }
- if(obase == optable)
- ip->op = c;
- op = &obase[c];
-hack:
- if (op->proto == 0) {
-badop:
- n = snprint(buf, sizeof(buf), "opcode: ??");
- for (i = 0; i < ip->n && n < sizeof(buf)-3; i++, n+=2)
- _hexify(buf+n, ip->mem[i], 1);
- strcpy(buf+n, "??");
- werrstr(buf);
- return 0;
- }
- for(i = 0; i < 2 && op->operand[i]; i++) {
- switch(op->operand[i]) {
- case Ib: /* 8-bit immediate - (no sign extension)*/
- if (igetc(map, ip, &c) < 0)
- return 0;
- ip->imm = c&0xff;
- ip->imm64 = ip->imm;
- break;
- case Jbs: /* 8-bit jump immediate (sign extended) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (c&0x80)
- ip->imm = c|0xffffff00;
- else
- ip->imm = c&0xff;
- ip->imm64 = (int32)ip->imm;
- ip->jumptype = Jbs;
- break;
- case Ibs: /* 8-bit immediate (sign extended) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (c&0x80)
- if (ip->osize == 'L')
- ip->imm = c|0xffffff00;
- else
- ip->imm = c|0xff00;
- else
- ip->imm = c&0xff;
- ip->imm64 = (int32)ip->imm;
- break;
- case Iw: /* 16-bit immediate -> imm */
- if (igets(map, ip, &s) < 0)
- return 0;
- ip->imm = s&0xffff;
- ip->imm64 = ip->imm;
- ip->jumptype = Iw;
- break;
- case Iw2: /* 16-bit immediate -> in imm2*/
- if (igets(map, ip, &s) < 0)
- return 0;
- ip->imm2 = s&0xffff;
- break;
- case Iwd: /* Operand-sized immediate (no sign extension unless 64 bits)*/
- if (ip->osize == 'L') {
- if (igetl(map, ip, &ip->imm) < 0)
- return 0;
- ip->imm64 = ip->imm;
- if(ip->rex&REXW && (ip->imm & (1<<31)) != 0)
- ip->imm64 |= (vlong)~0 << 32;
- } else {
- if (igets(map, ip, &s)< 0)
- return 0;
- ip->imm = s&0xffff;
- ip->imm64 = ip->imm;
- }
- break;
- case Iwdq: /* Operand-sized immediate, possibly big */
- if (ip->osize == 'L') {
- if (igetl(map, ip, &ip->imm) < 0)
- return 0;
- ip->imm64 = ip->imm;
- if (ip->rex & REXW) {
- uint32 l;
- if (igetl(map, ip, &l) < 0)
- return 0;
- ip->imm64 |= (uvlong)l << 32;
- }
- } else {
- if (igets(map, ip, &s)< 0)
- return 0;
- ip->imm = s&0xffff;
- }
- break;
- case Awd: /* Address-sized immediate (no sign extension)*/
- if (ip->asize == 'E') {
- if (igetl(map, ip, &ip->imm) < 0)
- return 0;
- /* TO DO: REX */
- } else {
- if (igets(map, ip, &s)< 0)
- return 0;
- ip->imm = s&0xffff;
- }
- break;
- case Iwds: /* Operand-sized immediate (sign extended) */
- if (ip->osize == 'L') {
- if (igetl(map, ip, &ip->imm) < 0)
- return 0;
- } else {
- if (igets(map, ip, &s)< 0)
- return 0;
- if (s&0x8000)
- ip->imm = s|0xffff0000;
- else
- ip->imm = s&0xffff;
- }
- ip->jumptype = Iwds;
- break;
- case OA: /* literal 0x0a byte */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (c != 0x0a)
- goto badop;
- break;
- case Op_R0: /* base register must be R0 */
- if (ip->base != 0)
- goto badop;
- break;
- case Op_R1: /* base register must be R1 */
- if (ip->base != 1)
- goto badop;
- break;
- case RMB: /* R/M field with byte register (/r)*/
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (modrm(map, ip, c) < 0)
- return 0;
- ip->osize = 'B';
- break;
- case RM: /* R/M field with register (/r) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (modrm(map, ip, c) < 0)
- return 0;
- break;
- case RMOPB: /* R/M field with op code (/digit) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (modrm(map, ip, c) < 0)
- return 0;
- c = ip->reg; /* secondary op code */
- obase = (Optable*)op->proto;
- ip->osize = 'B';
- goto newop;
- case RMOP: /* R/M field with op code (/digit) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (modrm(map, ip, c) < 0)
- return 0;
- obase = (Optable*)op->proto;
- if(ip->amd64 && obase == optab0F01 && c == 0xF8)
- return optab0F01F8;
- c = ip->reg;
- goto newop;
- case FRMOP: /* FP R/M field with op code (/digit) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (modrm(map, ip, c) < 0)
- return 0;
- if ((c&0xc0) == 0xc0)
- c = ip->reg+8; /* 16 entry table */
- else
- c = ip->reg;
- obase = (Optable*)op->proto;
- goto newop;
- case FRMEX: /* Extended FP R/M field with op code (/digit) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (modrm(map, ip, c) < 0)
- return 0;
- if ((c&0xc0) == 0xc0)
- c = (c&0x3f)+8; /* 64-entry table */
- else
- c = ip->reg;
- obase = (Optable*)op->proto;
- goto newop;
- case RMR: /* R/M register only (mod = 11) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if ((c&0xc0) != 0xc0) {
- werrstr("invalid R/M register: %#x", c);
- return 0;
- }
- if (modrm(map, ip, c) < 0)
- return 0;
- break;
- case RMM: /* R/M register only (mod = 11) */
- if (igetc(map, ip, &c) < 0)
- return 0;
- if ((c&0xc0) == 0xc0) {
- werrstr("invalid R/M memory mode: %#x", c);
- return 0;
- }
- if (modrm(map, ip, c) < 0)
- return 0;
- break;
- case PTR: /* Seg:Displacement addr (ptr16:16 or ptr16:32) */
- if (ip->osize == 'L') {
- if (igetl(map, ip, &ip->disp) < 0)
- return 0;
- } else {
- if (igets(map, ip, &s)< 0)
- return 0;
- ip->disp = s&0xffff;
- }
- if (igets(map, ip, (ushort*)&ip->seg) < 0)
- return 0;
- ip->jumptype = PTR;
- break;
- case AUXMM: /* Multi-byte op code; prefix determines table selection */
- if (igetc(map, ip, &c) < 0)
- return 0;
- obase = (Optable*)op->proto;
- switch (ip->opre) {
- case 0x66: op = optab660F; break;
- case 0xF2: op = optabF20F; break;
- case 0xF3: op = optabF30F; break;
- default: op = nil; break;
- }
- if(op != nil && op[c].proto != nil)
- obase = op;
- norex = 1; /* no more rex prefixes */
- /* otherwise the optab entry captures it */
- goto newop;
- case AUX: /* Multi-byte op code - Auxiliary table */
- obase = (Optable*)op->proto;
- if (igetc(map, ip, &c) < 0)
- return 0;
- goto newop;
- case OPRE: /* Instr Prefix or media op */
- ip->opre = c;
- /* fall through */
- case PRE: /* Instr Prefix */
- ip->prefix = (char*)op->proto;
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (ip->opre && c == 0x0F)
- ip->prefix = 0;
- goto newop;
- case SEG: /* Segment Prefix */
- ip->segment = (char*)op->proto;
- if (igetc(map, ip, &c) < 0)
- return 0;
- goto newop;
- case OPOVER: /* Operand size override */
- ip->opre = c;
- ip->osize = 'W';
- if (igetc(map, ip, &c) < 0)
- return 0;
- if (c == 0x0F)
- ip->osize = 'L';
- else if (ip->amd64 && (c&0xF0) == 0x40)
- ip->osize = 'Q';
- goto newop;
- case ADDOVER: /* Address size override */
- ip->asize = 0;
- if (igetc(map, ip, &c) < 0)
- return 0;
- goto newop;
- case JUMP: /* mark instruction as JUMP or RET */
- case RET:
- ip->jumptype = op->operand[i];
- break;
- default:
- werrstr("bad operand type %d", op->operand[i]);
- return 0;
- }
- }
- return op;
-}
-
-static void
-bprint(Instr *ip, char *fmt, ...)
-{
- va_list arg;
-
- va_start(arg, fmt);
- ip->curr = vseprint(ip->curr, ip->end, fmt, arg);
- va_end(arg);
-}
-
-/*
- * if we want to call 16 bit regs AX,BX,CX,...
- * and 32 bit regs EAX,EBX,ECX,... then
- * change the defs of ANAME and ONAME to:
- * #define ANAME(ip) ((ip->asize == 'E' ? "E" : "")
- * #define ONAME(ip) ((ip)->osize == 'L' ? "E" : "")
- */
-#define ANAME(ip) ""
-#define ONAME(ip) ""
-
-static char *reg[] = {
-[AX] = "AX",
-[CX] = "CX",
-[DX] = "DX",
-[BX] = "BX",
-[SP] = "SP",
-[BP] = "BP",
-[SI] = "SI",
-[DI] = "DI",
-
- /* amd64 */
-[AMD64_R8] = "R8",
-[AMD64_R9] = "R9",
-[AMD64_R10] = "R10",
-[AMD64_R11] = "R11",
-[AMD64_R12] = "R12",
-[AMD64_R13] = "R13",
-[AMD64_R14] = "R14",
-[AMD64_R15] = "R15",
-};
-
-static char *breg[] = { "AL", "CL", "DL", "BL", "AH", "CH", "DH", "BH" };
-static char *breg64[] = { "AL", "CL", "DL", "BL", "SPB", "BPB", "SIB", "DIB",
- "R8B", "R9B", "R10B", "R11B", "R12B", "R13B", "R14B", "R15B" };
-static char *sreg[] = { "ES", "CS", "SS", "DS", "FS", "GS" };
-
-static void
-immediate(Instr *ip, vlong val)
-{
- // TODO: Translate known names.
- if((ip->rex & REXW) == 0)
- bprint(ip, "%#lux", (long)val);
- else
- bprint(ip, "%#llux", val);
-}
-
-static void
-pea(Instr *ip)
-{
- int base;
-
- base = ip->base;
- if(base >= 0 && (ip->rex & REXB))
- base += 8;
-
- if (ip->mod == 3) {
- if (ip->osize == 'B')
- bprint(ip, (ip->rex & REXB? breg64: breg)[(uchar)ip->base]);
- else
- bprint(ip, "%s%s", ANAME(ip), reg[base]);
- return;
- }
-
- if (ip->segment)
- bprint(ip, ip->segment);
- if (1) {
- if (ip->base < 0)
- immediate(ip, ip->disp);
- else {
- bprint(ip, "%#ux", ip->disp);
- if(ip->rip)
- bprint(ip, "(RIP)");
- bprint(ip,"(%s%s)", ANAME(ip), reg[ip->rex&REXB? ip->base+8: ip->base]);
- }
- }
- if (ip->index >= 0)
- bprint(ip,"(%s%s*%d)", ANAME(ip), reg[ip->rex&REXX? ip->index+8: ip->index], 1<<ip->ss);
-}
-
-static void
-prinstr(Instr *ip, char *fmt)
-{
- int sharp, i;
- vlong v;
-
- if (ip->prefix)
- bprint(ip, "%s ", ip->prefix);
- for (; *fmt && ip->curr < ip->end; fmt++) {
- if (*fmt != '%'){
- *ip->curr++ = *fmt;
- continue;
- }
- sharp = 0;
- if(*++fmt == '#') {
- sharp = 1;
- ++fmt;
- }
- switch(*fmt){
- case '%':
- *ip->curr++ = '%';
- break;
- case 'A':
- bprint(ip, "%s", ANAME(ip));
- break;
- case 'C':
- bprint(ip, "CR%d", ip->reg);
- break;
- case 'D':
- if (ip->reg < 4 || ip->reg == 6 || ip->reg == 7)
- bprint(ip, "DR%d",ip->reg);
- else
- bprint(ip, "???");
- break;
- case 'I':
- bprint(ip, "$");
- immediate(ip, ip->imm2);
- break;
- case 'O':
- bprint(ip,"%s", ONAME(ip));
- break;
- case 'o':
- i = ip->op & 7;
- if(ip->rex & REXB)
- i += 8;
- bprint(ip, "%s", reg[i]);
- break;
- case 'i':
- if(!sharp)
- bprint(ip, "$");
- v = ip->imm;
- if(ip->rex & REXW)
- v = ip->imm64;
- immediate(ip, v);
- break;
- case 'R':
- bprint(ip, "%s%s", ONAME(ip), reg[ip->rex&REXR? ip->reg+8: ip->reg]);
- break;
- case 'S':
- if(ip->osize == 'Q' || (ip->osize == 'L' && ip->rex & REXW))
- bprint(ip, "Q");
- else
- bprint(ip, "%c", ip->osize);
- break;
- case 's':
- if(ip->opre == 0 || ip->opre == 0x66)
- bprint(ip, "P");
- else
- bprint(ip, "S");
- if(ip->opre == 0xf2 || ip->opre == 0x66)
- bprint(ip, "D");
- else
- bprint(ip, "S");
- break;
- case 'T':
- if (ip->reg == 6 || ip->reg == 7)
- bprint(ip, "TR%d",ip->reg);
- else
- bprint(ip, "???");
- break;
- case 'W':
- if (ip->osize == 'Q' || (ip->osize == 'L' && ip->rex & REXW))
- bprint(ip, "CDQE");
- else if (ip->osize == 'L')
- bprint(ip,"CWDE");
- else
- bprint(ip, "CBW");
- break;
- case 'd':
- bprint(ip,"%#ux:%#ux", ip->seg, ip->disp);
- break;
- case 'm':
- if (ip->mod == 3 && ip->osize != 'B') {
- if(fmt[1] != '*'){
- if(ip->opre != 0) {
- bprint(ip, "X%d", ip->rex&REXB? ip->base+8: ip->base);
- break;
- }
- } else
- fmt++;
- bprint(ip, "M%d", ip->base);
- break;
- }
- pea(ip);
- break;
- case 'e':
- pea(ip);
- break;
- case 'f':
- bprint(ip, "F%d", ip->base);
- break;
- case 'g':
- if (ip->reg < 6)
- bprint(ip,"%s",sreg[ip->reg]);
- else
- bprint(ip,"???");
- break;
- case 'p':
- /*
- * signed immediate in the uint32 ip->imm.
- */
- v = (int32)ip->imm;
- immediate(ip, v+ip->addr+ip->n);
- break;
- case 'r':
- if (ip->osize == 'B')
- bprint(ip,"%s", (ip->rex? breg64: breg)[ip->rex&REXR? ip->reg+8: ip->reg]);
- else
- bprint(ip, reg[ip->rex&REXR? ip->reg+8: ip->reg]);
- break;
- case 'w':
- if (ip->osize == 'Q' || ip->rex & REXW)
- bprint(ip, "CQO");
- else if (ip->osize == 'L')
- bprint(ip,"CDQ");
- else
- bprint(ip, "CWD");
- break;
- case 'M':
- if(ip->opre != 0)
- bprint(ip, "X%d", ip->rex&REXR? ip->reg+8: ip->reg);
- else
- bprint(ip, "M%d", ip->reg);
- break;
- case 'x':
- if (ip->mod == 3 && ip->osize != 'B') {
- bprint(ip, "X%d", ip->rex&REXB? ip->base+8: ip->base);
- break;
- }
- pea(ip);
- break;
- case 'X':
- bprint(ip, "X%d", ip->rex&REXR? ip->reg+8: ip->reg);
- break;
- default:
- bprint(ip, "%%%c", *fmt);
- break;
- }
- }
- *ip->curr = 0; /* there's always room for 1 byte */
-}
-
-static int
-i386inst(Map *map, uvlong pc, int is64, char modifier, char *buf, int n)
-{
- Instr instr;
- Optable *op;
-
- USED(modifier);
- op = mkinstr(map, &instr, pc, is64);
- if (op == 0)
- return -1;
- instr.curr = buf;
- instr.end = buf+n-1;
- prinstr(&instr, op->proto);
- return instr.n;
-}
-
-/*
-static int
-i386das(Map *map, uvlong pc, char *buf, int n)
-{
- Instr instr;
- int i;
-
- if (mkinstr(map, &instr, pc) == 0) {
- errstr(buf, n);
- return -1;
- }
- for(i = 0; i < instr.n && n > 2; i++) {
- _hexify(buf, instr.mem[i], 1);
- buf += 2;
- n -= 2;
- }
- *buf = 0;
- return instr.n;
-}
-
-static int
-i386instlen(Map *map, uvlong pc)
-{
- Instr i;
-
- if (mkinstr(map, &i, pc))
- return i.n;
- return -1;
-}
-*/
-
-static int
-getmem(Map *m, uvlong addr, uchar *dst, int ndst)
-{
- uchar *p;
-
- p = m->startp + (addr - m->startpc);
- if(p < m->p || p >= m->ep || m->ep - p < ndst) {
- werrstr("out of bounds");
- return -1;
- }
- memmove(dst, p, ndst);
- return ndst;
-}
-
-int
-x86disasm(uchar *p, uchar *end, uvlong pc, int is64, char *buf, int n)
-{
- Map m;
-
- m.p = p;
- m.ep = end;
- m.startp = p;
- m.startpc = pc;
- m.get1 = getmem;
- return i386inst(&m, pc, is64, 0, buf, n);
-}
-
-void
-usage(void)
-{
- fprint(2, "usage: libmach8db file\n");
- exits("usage");
-}
-
-void
-main(int argc, char **argv)
-{
- uchar data[10000], *p, *ep;
- int fd, n, eof, addr, is64;
- Biobuf bstdout;
- char buf[1000];
-
- fmtinstall('H', encodefmt);
-
- is64 = 0;
- ARGBEGIN{
- case '8':
- is64 = 0;
- break;
- case '6':
- is64 = 1;
- break;
- default:
- usage();
- }ARGEND
-
- if(argc != 1)
- usage();
-
- fd = open(argv[0], OREAD);
- if(fd < 0)
- sysfatal("open %s: %r", argv[0]);
-
- Binit(&bstdout, 1, OWRITE);
- p = data;
- ep = data;
- eof = 0;
- addr = 0;
- for(;;) {
- if(!eof && ep-p < 64) {
- memmove(data, p, ep-p);
- ep = data + (ep-p);
- p = data;
- n = readn(fd, ep, data+sizeof data-ep);
- if(n <= 0)
- eof = 1;
- else
- ep += n;
- }
- if(p == ep)
- break;
- n = x86disasm(p, ep, addr, is64, buf, sizeof buf);
- if(n < 0) {
- Bprint(&bstdout, "0x%x %.*H error: %r\n", addr, 1, p);
- n = 1;
- } else {
- Bprint(&bstdout, "0x%x %.*H %s\n", addr, n, p, buf);
- }
- addr += n;
- p += n;
- }
- Bflush(&bstdout);
- exits(0);
-}
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/xed_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/xed_test.go
deleted file mode 100644
index 91cf822727..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/xed_test.go
+++ /dev/null
@@ -1,211 +0,0 @@
-// 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.
-
-package x86asm
-
-import (
- "bytes"
- "strings"
- "testing"
-)
-
-func TestXed32Manual(t *testing.T) { testXed32(t, hexCases(t, xedManualTests)) }
-func TestXed32Testdata(t *testing.T) { testXed32(t, concat(basicPrefixes, testdataCases(t))) }
-func TestXed32ModRM(t *testing.T) { testXed32(t, concat(basicPrefixes, enumModRM)) }
-func TestXed32OneByte(t *testing.T) { testBasic(t, testXed32) }
-func TestXed320F(t *testing.T) { testBasic(t, testXed32, 0x0F) }
-func TestXed320F38(t *testing.T) { testBasic(t, testXed32, 0x0F, 0x38) }
-func TestXed320F3A(t *testing.T) { testBasic(t, testXed32, 0x0F, 0x3A) }
-func TestXed32Prefix(t *testing.T) { testPrefix(t, testXed32) }
-
-func TestXed64Manual(t *testing.T) { testXed64(t, hexCases(t, xedManualTests)) }
-func TestXed64Testdata(t *testing.T) { testXed64(t, concat(basicPrefixes, testdataCases(t))) }
-func TestXed64ModRM(t *testing.T) { testXed64(t, concat(basicPrefixes, enumModRM)) }
-func TestXed64OneByte(t *testing.T) { testBasic(t, testXed64) }
-func TestXed640F(t *testing.T) { testBasic(t, testXed64, 0x0F) }
-func TestXed640F38(t *testing.T) { testBasic(t, testXed64, 0x0F, 0x38) }
-func TestXed640F3A(t *testing.T) { testBasic(t, testXed64, 0x0F, 0x3A) }
-func TestXed64Prefix(t *testing.T) { testPrefix(t, testXed64) }
-
-func TestXed64REXTestdata(t *testing.T) {
- testXed64(t, filter(concat3(basicPrefixes, rexPrefixes, testdataCases(t)), isValidREX))
-}
-func TestXed64REXModRM(t *testing.T) { testXed64(t, concat3(basicPrefixes, rexPrefixes, enumModRM)) }
-func TestXed64REXOneByte(t *testing.T) { testBasicREX(t, testXed64) }
-func TestXed64REX0F(t *testing.T) { testBasicREX(t, testXed64, 0x0F) }
-func TestXed64REX0F38(t *testing.T) { testBasicREX(t, testXed64, 0x0F, 0x38) }
-func TestXed64REX0F3A(t *testing.T) { testBasicREX(t, testXed64, 0x0F, 0x3A) }
-func TestXed64REXPrefix(t *testing.T) { testPrefixREX(t, testXed64) }
-
-// xedManualTests holds test cases that will be run by TestXedManual32 and TestXedManual64.
-// If you are debugging a few cases that turned up in a longer run, it can be useful
-// to list them here and then use -run=XedManual, particularly with tracing enabled.
-var xedManualTests = `
-6690
-`
-
-// allowedMismatchXed reports whether the mismatch between text and dec
-// should be allowed by the test.
-func allowedMismatchXed(text string, size int, inst *Inst, dec ExtInst) bool {
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, "GENERAL_ERROR", "INSTR_TOO_LONG", "BAD_LOCK_PREFIX") {
- return true
- }
-
- if contains(dec.text, "BAD_LOCK_PREFIX") && countExactPrefix(inst, PrefixLOCK|PrefixInvalid) > 0 {
- return true
- }
-
- if contains(dec.text, "BAD_LOCK_PREFIX", "GENERAL_ERROR") && countExactPrefix(inst, PrefixLOCK|PrefixImplicit) > 0 {
- return true
- }
-
- if text == "lock" && size == 1 && contains(dec.text, "BAD_LOCK_PREFIX") {
- return true
- }
-
- // Instructions not known to us.
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, unsupported...) {
- return true
- }
-
- // Instructions not known to xed.
- if contains(text, xedUnsupported...) && contains(dec.text, "ERROR") {
- return true
- }
-
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, "shl ") && (inst.Opcode>>16)&0xEC38 == 0xC030 {
- return true
- }
-
- // 82 11 22: xed says 'adc byte ptr [ecx], 0x22' but there is no justification in the manuals for that.
- // C0 30 11: xed says 'shl byte ptr [eax], 0x11' but there is no justification in the manuals for that.
- // F6 08 11: xed says 'test byte ptr [eax], 0x11' but there is no justification in the manuals for that.
- if (contains(text, "error:") || isPrefix(text) && size == 1) && hasByte(dec.enc[:dec.nenc], 0x82, 0xC0, 0xC1, 0xD0, 0xD1, 0xD2, 0xD3, 0xF6, 0xF7) {
- return true
- }
-
- // F3 11 22 and many others: xed allows and drops misused rep/repn prefix.
- if (text == "rep" && dec.enc[0] == 0xF3 || (text == "repn" || text == "repne") && dec.enc[0] == 0xF2) && (!contains(dec.text, "ins", "outs", "movs", "lods", "cmps", "scas") || contains(dec.text, "xmm")) {
- return true
- }
-
- // 0F C7 30: xed says vmptrld qword ptr [eax]; we say rdrand eax.
- // TODO(rsc): Fix, since we are probably wrong, but we don't have vmptrld in the manual.
- if contains(text, "rdrand") && contains(dec.text, "vmptrld", "vmxon", "vmclear") {
- return true
- }
-
- // F3 0F AE 00: we say 'rdfsbase dword ptr [eax]' but RDFSBASE needs a register.
- // Also, this is a 64-bit only instruction.
- // TODO(rsc): Fix to reject this encoding.
- if contains(text, "rdfsbase", "rdgsbase", "wrfsbase", "wrgsbase") && contains(dec.text, "ERROR") {
- return true
- }
-
- // 0F 01 F8: we say swapgs but that's only valid in 64-bit mode.
- // TODO(rsc): Fix.
- if contains(text, "swapgs") {
- return true
- }
-
- // 0F 24 11: 'mov ecx, tr2' except there is no TR2.
- // Or maybe the MOV to TR registers doesn't use RMF.
- if contains(text, "cr1", "cr5", "cr6", "cr7", "tr0", "tr1", "tr2", "tr3", "tr4", "tr5", "tr6", "tr7") && contains(dec.text, "ERROR") {
- return true
- }
-
- // 0F 19 11, 0F 1C 11, 0F 1D 11, 0F 1E 11, 0F 1F 11: xed says nop,
- // but the Intel manuals say that the only NOP there is 0F 1F /0.
- // Perhaps xed is reporting an older encoding.
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, "nop ") && (inst.Opcode>>8)&0xFFFF38 != 0x0F1F00 {
- return true
- }
-
- // 66 0F AE 38: clflushopt but we only know clflush
- if contains(text, "clflush") && contains(dec.text, "clflushopt") {
- return true
- }
-
- // 0F 20 04 11: MOV SP, CR0 but has mod!=3 despite register argument.
- // (This encoding ignores the mod bits.) The decoder sees the non-register
- // mod and reads farther ahead to decode the memory reference that
- // isn't really there, causing the size to be too large.
- // TODO(rsc): Fix.
- if text == dec.text && size > dec.nenc && contains(text, " cr", " dr", " tr") {
- return true
- }
-
- // 0F AE E9: xed says lfence, which is wrong (only 0F AE E8 is lfence). And so on.
- if contains(dec.text, "fence") && hasByte(dec.enc[:dec.nenc], 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF) {
- return true
- }
-
- // DD C9, DF C9: xed says 'fxch st0, st1' but that instruction is D9 C9.
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, "fxch ") && hasByte(dec.enc[:dec.nenc], 0xDD, 0xDF) {
- return true
- }
-
- // DC D4: xed says 'fcom st0, st4' but that instruction is D8 D4.
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, "fcom ") && hasByte(dec.enc[:dec.nenc], 0xD8, 0xDC) {
- return true
- }
-
- // DE D4: xed says 'fcomp st0, st4' but that instruction is D8 D4.
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, "fcomp ") && hasByte(dec.enc[:dec.nenc], 0xDC, 0xDE) {
- return true
- }
-
- // DF D4: xed says 'fstp st4, st0' but that instruction is DD D4.
- if (contains(text, "error:") || isPrefix(text) && size == 1) && contains(dec.text, "fstp ") && hasByte(dec.enc[:dec.nenc], 0xDF) {
- return true
- }
-
- return false
-}
-
-func countExactPrefix(inst *Inst, target Prefix) int {
- n := 0
- for _, p := range inst.Prefix {
- if p == target {
- n++
- }
- }
- return n
-}
-
-func hasByte(src []byte, target ...byte) bool {
- for _, b := range target {
- if bytes.IndexByte(src, b) >= 0 {
- return true
- }
- }
- return false
-}
-
-// Instructions known to us but not to xed.
-var xedUnsupported = strings.Fields(`
- xrstor
- xsave
- xsave
- ud1
- xgetbv
- xsetbv
- fxsave
- fxrstor
- clflush
- lfence
- mfence
- sfence
- rsqrtps
- rcpps
- emms
- ldmxcsr
- stmxcsr
- movhpd
- movnti
- rdrand
- movbe
- movlpd
- sysret
-`)
diff --git a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/xedext_test.go b/src/cmd/vendor/golang.org/x/arch/x86/x86asm/xedext_test.go
deleted file mode 100644
index e27cdc07c4..0000000000
--- a/src/cmd/vendor/golang.org/x/arch/x86/x86asm/xedext_test.go
+++ /dev/null
@@ -1,205 +0,0 @@
-package x86asm
-
-import (
- "bytes"
- "fmt"
- "io"
- "log"
- "os"
- "strconv"
- "strings"
- "testing"
-)
-
-// xed binary from Intel sde-external-6.22.0-2014-03-06.
-const xedPath = "/Users/rsc/bin/xed"
-
-func testXedArch(t *testing.T, arch int, generate func(func([]byte))) {
- if testing.Short() {
- t.Skip("skipping xed test in short mode")
- }
- if _, err := os.Stat(xedPath); err != nil {
- t.Skip(err)
- }
-
- testExtDis(t, "intel", arch, xed, generate, allowedMismatchXed)
-}
-
-func testXed32(t *testing.T, generate func(func([]byte))) {
- testXedArch(t, 32, generate)
-}
-
-func testXed64(t *testing.T, generate func(func([]byte))) {
- testXedArch(t, 64, generate)
-}
-
-func xed(ext *ExtDis) error {
- b, err := ext.Run(xedPath, fmt.Sprintf("-%d", ext.Arch), "-n", "1G", "-ir", ext.File.Name())
- if err != nil {
- return err
- }
-
- nmatch := 0
- next := uint32(start)
- var (
- addr uint32
- encbuf [32]byte
- enc []byte
- text string
- )
-
- var xedEnd = []byte("# end of text section")
- var xedEnd1 = []byte("# Errors")
-
- eof := false
- for {
- line, err := b.ReadSlice('\n')
- if err != nil {
- if err == io.EOF {
- break
- }
- return fmt.Errorf("reading objdump output: %v", err)
- }
- if debug {
- os.Stdout.Write(line)
- }
- if bytes.HasPrefix(line, xedEnd) || bytes.HasPrefix(line, xedEnd1) {
- eof = true
- }
- if eof {
- continue
- }
- nmatch++
- addr, enc, text = parseLineXed(line, encbuf[:0])
- if addr > next {
- return fmt.Errorf("address out of sync expected <= %#x at %q in:\n%s", next, line, line)
- }
- if addr < next {
- continue
- }
- switch text {
- case "repz":
- text = "rep"
- case "repnz":
- text = "repn"
- default:
- text = strings.Replace(text, "repz ", "rep ", -1)
- text = strings.Replace(text, "repnz ", "repn ", -1)
- }
- if m := pcrelw.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], int16(uint32(targ)-uint32(uint16(addr))-uint32(len(enc))))
- }
- if m := pcrel.FindStringSubmatch(text); m != nil {
- targ, _ := strconv.ParseUint(m[2], 16, 64)
- text = fmt.Sprintf("%s .%+#x", m[1], int32(uint32(targ)-addr-uint32(len(enc))))
- }
- ext.Dec <- ExtInst{addr, encbuf, len(enc), text}
- encbuf = [32]byte{}
- enc = nil
- next += 32
- }
- if next != start+uint32(ext.Size) {
- return fmt.Errorf("not enough results found [%d %d]", next, start+ext.Size)
- }
- if err := ext.Wait(); err != nil {
- return fmt.Errorf("exec: %v", err)
- }
-
- return nil
-}
-
-var (
- xedInRaw = []byte("In raw...")
- xedDots = []byte("...")
- xdis = []byte("XDIS ")
- xedError = []byte("ERROR: ")
- xedNoDecode = []byte("Could not decode at offset: 0x")
-)
-
-func parseLineXed(line []byte, encstart []byte) (addr uint32, enc []byte, text string) {
- oline := line
- if bytes.HasPrefix(line, xedInRaw) || bytes.HasPrefix(line, xedDots) {
- return 0, nil, ""
- }
- if bytes.HasPrefix(line, xedError) {
- i := bytes.IndexByte(line[len(xedError):], ' ')
- if i < 0 {
- log.Fatalf("cannot parse error: %q", oline)
- }
- errstr := string(line[len(xedError):])
- i = bytes.Index(line, xedNoDecode)
- if i < 0 {
- log.Fatalf("cannot parse error: %q", oline)
- }
- i += len(xedNoDecode)
- j := bytes.IndexByte(line[i:], ' ')
- if j < 0 {
- log.Fatalf("cannot parse error: %q", oline)
- }
- x, err := strconv.ParseUint(string(trimSpace(line[i:i+j])), 16, 32)
- if err != nil {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- addr = uint32(x)
- return addr, nil, errstr
- }
-
- if !bytes.HasPrefix(line, xdis) {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
-
- i := bytes.IndexByte(line, ':')
- if i < 0 {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- x, err := strconv.ParseUint(string(trimSpace(line[len(xdis):i])), 16, 32)
- if err != nil {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
- addr = uint32(x)
-
- // spaces
- i++
- for i < len(line) && line[i] == ' ' {
- i++
- }
- // instruction class, spaces
- for i < len(line) && line[i] != ' ' {
- i++
- }
- for i < len(line) && line[i] == ' ' {
- i++
- }
- // instruction set, spaces
- for i < len(line) && line[i] != ' ' {
- i++
- }
- for i < len(line) && line[i] == ' ' {
- i++
- }
-
- // hex
- hexStart := i
- for i < len(line) && line[i] != ' ' {
- i++
- }
- hexEnd := i
- for i < len(line) && line[i] == ' ' {
- i++
- }
-
- // text
- textStart := i
- for i < len(line) && line[i] != '\n' {
- i++
- }
- textEnd := i
-
- enc, ok := parseHex(line[hexStart:hexEnd], encstart)
- if !ok {
- log.Fatalf("cannot parse disassembly: %q", oline)
- }
-
- return addr, enc, string(fixSpace(line[textStart:textEnd]))
-}
diff --git a/src/cmd/vendor/golang.org/x/crypto/ssh/terminal/terminal_test.go b/src/cmd/vendor/golang.org/x/crypto/ssh/terminal/terminal_test.go
deleted file mode 100644
index d9b77c1c5e..0000000000
--- a/src/cmd/vendor/golang.org/x/crypto/ssh/terminal/terminal_test.go
+++ /dev/null
@@ -1,358 +0,0 @@
-// 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.
-
-// +build darwin dragonfly freebsd linux,!appengine netbsd openbsd windows plan9 solaris
-
-package terminal
-
-import (
- "bytes"
- "io"
- "os"
- "runtime"
- "testing"
-)
-
-type MockTerminal struct {
- toSend []byte
- bytesPerRead int
- received []byte
-}
-
-func (c *MockTerminal) Read(data []byte) (n int, err error) {
- n = len(data)
- if n == 0 {
- return
- }
- if n > len(c.toSend) {
- n = len(c.toSend)
- }
- if n == 0 {
- return 0, io.EOF
- }
- if c.bytesPerRead > 0 && n > c.bytesPerRead {
- n = c.bytesPerRead
- }
- copy(data, c.toSend[:n])
- c.toSend = c.toSend[n:]
- return
-}
-
-func (c *MockTerminal) Write(data []byte) (n int, err error) {
- c.received = append(c.received, data...)
- return len(data), nil
-}
-
-func TestClose(t *testing.T) {
- c := &MockTerminal{}
- ss := NewTerminal(c, "> ")
- line, err := ss.ReadLine()
- if line != "" {
- t.Errorf("Expected empty line but got: %s", line)
- }
- if err != io.EOF {
- t.Errorf("Error should have been EOF but got: %s", err)
- }
-}
-
-var keyPressTests = []struct {
- in string
- line string
- err error
- throwAwayLines int
-}{
- {
- err: io.EOF,
- },
- {
- in: "\r",
- line: "",
- },
- {
- in: "foo\r",
- line: "foo",
- },
- {
- in: "a\x1b[Cb\r", // right
- line: "ab",
- },
- {
- in: "a\x1b[Db\r", // left
- line: "ba",
- },
- {
- in: "a\177b\r", // backspace
- line: "b",
- },
- {
- in: "\x1b[A\r", // up
- },
- {
- in: "\x1b[B\r", // down
- },
- {
- in: "line\x1b[A\x1b[B\r", // up then down
- line: "line",
- },
- {
- in: "line1\rline2\x1b[A\r", // recall previous line.
- line: "line1",
- throwAwayLines: 1,
- },
- {
- // recall two previous lines and append.
- in: "line1\rline2\rline3\x1b[A\x1b[Axxx\r",
- line: "line1xxx",
- throwAwayLines: 2,
- },
- {
- // Ctrl-A to move to beginning of line followed by ^K to kill
- // line.
- in: "a b \001\013\r",
- line: "",
- },
- {
- // Ctrl-A to move to beginning of line, Ctrl-E to move to end,
- // finally ^K to kill nothing.
- in: "a b \001\005\013\r",
- line: "a b ",
- },
- {
- in: "\027\r",
- line: "",
- },
- {
- in: "a\027\r",
- line: "",
- },
- {
- in: "a \027\r",
- line: "",
- },
- {
- in: "a b\027\r",
- line: "a ",
- },
- {
- in: "a b \027\r",
- line: "a ",
- },
- {
- in: "one two thr\x1b[D\027\r",
- line: "one two r",
- },
- {
- in: "\013\r",
- line: "",
- },
- {
- in: "a\013\r",
- line: "a",
- },
- {
- in: "ab\x1b[D\013\r",
- line: "a",
- },
- {
- in: "Ξεσκεπάζω\r",
- line: "Ξεσκεπάζω",
- },
- {
- in: "£\r\x1b[A\177\r", // non-ASCII char, enter, up, backspace.
- line: "",
- throwAwayLines: 1,
- },
- {
- in: "£\r££\x1b[A\x1b[B\177\r", // non-ASCII char, enter, 2x non-ASCII, up, down, backspace, enter.
- line: "£",
- throwAwayLines: 1,
- },
- {
- // Ctrl-D at the end of the line should be ignored.
- in: "a\004\r",
- line: "a",
- },
- {
- // a, b, left, Ctrl-D should erase the b.
- in: "ab\x1b[D\004\r",
- line: "a",
- },
- {
- // a, b, c, d, left, left, ^U should erase to the beginning of
- // the line.
- in: "abcd\x1b[D\x1b[D\025\r",
- line: "cd",
- },
- {
- // Bracketed paste mode: control sequences should be returned
- // verbatim in paste mode.
- in: "abc\x1b[200~de\177f\x1b[201~\177\r",
- line: "abcde\177",
- },
- {
- // Enter in bracketed paste mode should still work.
- in: "abc\x1b[200~d\refg\x1b[201~h\r",
- line: "efgh",
- throwAwayLines: 1,
- },
- {
- // Lines consisting entirely of pasted data should be indicated as such.
- in: "\x1b[200~a\r",
- line: "a",
- err: ErrPasteIndicator,
- },
-}
-
-func TestKeyPresses(t *testing.T) {
- for i, test := range keyPressTests {
- for j := 1; j < len(test.in); j++ {
- c := &MockTerminal{
- toSend: []byte(test.in),
- bytesPerRead: j,
- }
- ss := NewTerminal(c, "> ")
- for k := 0; k < test.throwAwayLines; k++ {
- _, err := ss.ReadLine()
- if err != nil {
- t.Errorf("Throwaway line %d from test %d resulted in error: %s", k, i, err)
- }
- }
- line, err := ss.ReadLine()
- if line != test.line {
- t.Errorf("Line resulting from test %d (%d bytes per read) was '%s', expected '%s'", i, j, line, test.line)
- break
- }
- if err != test.err {
- t.Errorf("Error resulting from test %d (%d bytes per read) was '%v', expected '%v'", i, j, err, test.err)
- break
- }
- }
- }
-}
-
-func TestPasswordNotSaved(t *testing.T) {
- c := &MockTerminal{
- toSend: []byte("password\r\x1b[A\r"),
- bytesPerRead: 1,
- }
- ss := NewTerminal(c, "> ")
- pw, _ := ss.ReadPassword("> ")
- if pw != "password" {
- t.Fatalf("failed to read password, got %s", pw)
- }
- line, _ := ss.ReadLine()
- if len(line) > 0 {
- t.Fatalf("password was saved in history")
- }
-}
-
-var setSizeTests = []struct {
- width, height int
-}{
- {40, 13},
- {80, 24},
- {132, 43},
-}
-
-func TestTerminalSetSize(t *testing.T) {
- for _, setSize := range setSizeTests {
- c := &MockTerminal{
- toSend: []byte("password\r\x1b[A\r"),
- bytesPerRead: 1,
- }
- ss := NewTerminal(c, "> ")
- ss.SetSize(setSize.width, setSize.height)
- pw, _ := ss.ReadPassword("Password: ")
- if pw != "password" {
- t.Fatalf("failed to read password, got %s", pw)
- }
- if string(c.received) != "Password: \r\n" {
- t.Errorf("failed to set the temporary prompt expected %q, got %q", "Password: ", c.received)
- }
- }
-}
-
-func TestReadPasswordLineEnd(t *testing.T) {
- var tests = []struct {
- input string
- want string
- }{
- {"\n", ""},
- {"\r\n", ""},
- {"test\r\n", "test"},
- {"testtesttesttes\n", "testtesttesttes"},
- {"testtesttesttes\r\n", "testtesttesttes"},
- {"testtesttesttesttest\n", "testtesttesttesttest"},
- {"testtesttesttesttest\r\n", "testtesttesttesttest"},
- }
- for _, test := range tests {
- buf := new(bytes.Buffer)
- if _, err := buf.WriteString(test.input); err != nil {
- t.Fatal(err)
- }
-
- have, err := readPasswordLine(buf)
- if err != nil {
- t.Errorf("readPasswordLine(%q) failed: %v", test.input, err)
- continue
- }
- if string(have) != test.want {
- t.Errorf("readPasswordLine(%q) returns %q, but %q is expected", test.input, string(have), test.want)
- continue
- }
-
- if _, err = buf.WriteString(test.input); err != nil {
- t.Fatal(err)
- }
- have, err = readPasswordLine(buf)
- if err != nil {
- t.Errorf("readPasswordLine(%q) failed: %v", test.input, err)
- continue
- }
- if string(have) != test.want {
- t.Errorf("readPasswordLine(%q) returns %q, but %q is expected", test.input, string(have), test.want)
- continue
- }
- }
-}
-
-func TestMakeRawState(t *testing.T) {
- fd := int(os.Stdout.Fd())
- if !IsTerminal(fd) {
- t.Skip("stdout is not a terminal; skipping test")
- }
-
- st, err := GetState(fd)
- if err != nil {
- t.Fatalf("failed to get terminal state from GetState: %s", err)
- }
-
- if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") {
- t.Skip("MakeRaw not allowed on iOS; skipping test")
- }
-
- defer Restore(fd, st)
- raw, err := MakeRaw(fd)
- if err != nil {
- t.Fatalf("failed to get terminal state from MakeRaw: %s", err)
- }
-
- if *st != *raw {
- t.Errorf("states do not match; was %v, expected %v", raw, st)
- }
-}
-
-func TestOutputNewlines(t *testing.T) {
- // \n should be changed to \r\n in terminal output.
- buf := new(bytes.Buffer)
- term := NewTerminal(buf, ">")
-
- term.Write([]byte("1\n2\n"))
- output := string(buf.Bytes())
- const expected = "1\r\n2\r\n"
-
- if output != expected {
- t.Errorf("incorrect output: was %q, expected %q", output, expected)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/creds_test.go b/src/cmd/vendor/golang.org/x/sys/unix/creds_test.go
deleted file mode 100644
index 1b5083196a..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/creds_test.go
+++ /dev/null
@@ -1,134 +0,0 @@
-// 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 linux
-
-package unix_test
-
-import (
- "bytes"
- "go/build"
- "net"
- "os"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-// TestSCMCredentials tests the sending and receiving of credentials
-// (PID, UID, GID) in an ancillary message between two UNIX
-// sockets. The SO_PASSCRED socket option is enabled on the sending
-// socket for this to work.
-func TestSCMCredentials(t *testing.T) {
- socketTypeTests := []struct {
- socketType int
- dataLen int
- }{
- {
- unix.SOCK_STREAM,
- 1,
- }, {
- unix.SOCK_DGRAM,
- 0,
- },
- }
-
- for _, tt := range socketTypeTests {
- if tt.socketType == unix.SOCK_DGRAM && !atLeast1p10() {
- t.Log("skipping DGRAM test on pre-1.10")
- continue
- }
-
- fds, err := unix.Socketpair(unix.AF_LOCAL, tt.socketType, 0)
- if err != nil {
- t.Fatalf("Socketpair: %v", err)
- }
- defer unix.Close(fds[0])
- defer unix.Close(fds[1])
-
- err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1)
- if err != nil {
- t.Fatalf("SetsockoptInt: %v", err)
- }
-
- srvFile := os.NewFile(uintptr(fds[0]), "server")
- defer srvFile.Close()
- srv, err := net.FileConn(srvFile)
- if err != nil {
- t.Errorf("FileConn: %v", err)
- return
- }
- defer srv.Close()
-
- cliFile := os.NewFile(uintptr(fds[1]), "client")
- defer cliFile.Close()
- cli, err := net.FileConn(cliFile)
- if err != nil {
- t.Errorf("FileConn: %v", err)
- return
- }
- defer cli.Close()
-
- var ucred unix.Ucred
- ucred.Pid = int32(os.Getpid())
- ucred.Uid = uint32(os.Getuid())
- ucred.Gid = uint32(os.Getgid())
- oob := unix.UnixCredentials(&ucred)
-
- // On SOCK_STREAM, this is internally going to send a dummy byte
- n, oobn, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
- if err != nil {
- t.Fatalf("WriteMsgUnix: %v", err)
- }
- if n != 0 {
- t.Fatalf("WriteMsgUnix n = %d, want 0", n)
- }
- if oobn != len(oob) {
- t.Fatalf("WriteMsgUnix oobn = %d, want %d", oobn, len(oob))
- }
-
- oob2 := make([]byte, 10*len(oob))
- n, oobn2, flags, _, err := srv.(*net.UnixConn).ReadMsgUnix(nil, oob2)
- if err != nil {
- t.Fatalf("ReadMsgUnix: %v", err)
- }
- if flags != 0 {
- t.Fatalf("ReadMsgUnix flags = 0x%x, want 0", flags)
- }
- if n != tt.dataLen {
- t.Fatalf("ReadMsgUnix n = %d, want %d", n, tt.dataLen)
- }
- if oobn2 != oobn {
- // without SO_PASSCRED set on the socket, ReadMsgUnix will
- // return zero oob bytes
- t.Fatalf("ReadMsgUnix oobn = %d, want %d", oobn2, oobn)
- }
- oob2 = oob2[:oobn2]
- if !bytes.Equal(oob, oob2) {
- t.Fatal("ReadMsgUnix oob bytes don't match")
- }
-
- scm, err := unix.ParseSocketControlMessage(oob2)
- if err != nil {
- t.Fatalf("ParseSocketControlMessage: %v", err)
- }
- newUcred, err := unix.ParseUnixCredentials(&scm[0])
- if err != nil {
- t.Fatalf("ParseUnixCredentials: %v", err)
- }
- if *newUcred != ucred {
- t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred)
- }
- }
-}
-
-// atLeast1p10 reports whether we are running on Go 1.10 or later.
-func atLeast1p10() bool {
- for _, ver := range build.Default.ReleaseTags {
- if ver == "go1.10" {
- return true
- }
- }
- return false
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/darwin_test.go b/src/cmd/vendor/golang.org/x/sys/unix/darwin_test.go
deleted file mode 100644
index 29af36f102..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/darwin_test.go
+++ /dev/null
@@ -1,210 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build darwin,go1.12,amd64 darwin,go1.12,386
-
-package unix
-
-import (
- "os"
- "os/exec"
- "strings"
- "testing"
-)
-
-type darwinTest struct {
- name string
- f func()
-}
-
-// TODO(khr): decide whether to keep this test enabled permanently or
-// only temporarily.
-func TestDarwinLoader(t *testing.T) {
- // Make sure the Darwin dynamic loader can actually resolve
- // all the system calls into libSystem.dylib. Unfortunately
- // there is no easy way to test this at compile time. So we
- // implement a crazy hack here, calling into the syscall
- // function with all its arguments set to junk, and see what
- // error we get. We are happy with any error (or none) except
- // an error from the dynamic loader.
- //
- // We have to run each test in a separate subprocess for fault isolation.
- //
- // Hopefully the junk args won't accidentally ask the system to do "rm -fr /".
- //
- // In an ideal world each syscall would have its own test, so this test
- // would be unnecessary. Unfortunately, we do not live in that world.
- for _, test := range darwinTests {
- // Call the test binary recursively, giving it a magic argument
- // (see init below) and the name of the test to run.
- cmd := exec.Command(os.Args[0], "testDarwinLoader", test.name)
-
- // Run subprocess, collect results. Note that we expect the subprocess
- // to fail somehow, so the error is irrelevant.
- out, _ := cmd.CombinedOutput()
-
- if strings.Contains(string(out), "dyld: Symbol not found:") {
- t.Errorf("can't resolve %s in libSystem.dylib", test.name)
- }
- if !strings.Contains(string(out), "success") {
- // Not really an error. Might be a syscall that never returns,
- // like exit, or one that segfaults, like gettimeofday.
- t.Logf("test never finished: %s: %s", test.name, string(out))
- }
- }
-}
-
-func init() {
- // The test binary execs itself with the "testDarwinLoader" argument.
- // Run the test specified by os.Args[2], then panic.
- if len(os.Args) >= 3 && os.Args[1] == "testDarwinLoader" {
- for _, test := range darwinTests {
- if test.name == os.Args[2] {
- test.f()
- }
- }
- // Panic with a "success" label, so the parent process can check it.
- panic("success")
- }
-}
-
-// All the _trampoline functions in zsyscall_darwin_$ARCH.s
-var darwinTests = [...]darwinTest{
- {"getgroups", libc_getgroups_trampoline},
- {"setgroups", libc_setgroups_trampoline},
- {"wait4", libc_wait4_trampoline},
- {"accept", libc_accept_trampoline},
- {"bind", libc_bind_trampoline},
- {"connect", libc_connect_trampoline},
- {"socket", libc_socket_trampoline},
- {"getsockopt", libc_getsockopt_trampoline},
- {"setsockopt", libc_setsockopt_trampoline},
- {"getpeername", libc_getpeername_trampoline},
- {"getsockname", libc_getsockname_trampoline},
- {"shutdown", libc_shutdown_trampoline},
- {"socketpair", libc_socketpair_trampoline},
- {"recvfrom", libc_recvfrom_trampoline},
- {"sendto", libc_sendto_trampoline},
- {"recvmsg", libc_recvmsg_trampoline},
- {"sendmsg", libc_sendmsg_trampoline},
- {"kevent", libc_kevent_trampoline},
- {"__sysctl", libc___sysctl_trampoline},
- {"utimes", libc_utimes_trampoline},
- {"futimes", libc_futimes_trampoline},
- {"fcntl", libc_fcntl_trampoline},
- {"poll", libc_poll_trampoline},
- {"madvise", libc_madvise_trampoline},
- {"mlock", libc_mlock_trampoline},
- {"mlockall", libc_mlockall_trampoline},
- {"mprotect", libc_mprotect_trampoline},
- {"msync", libc_msync_trampoline},
- {"munlock", libc_munlock_trampoline},
- {"munlockall", libc_munlockall_trampoline},
- {"ptrace", libc_ptrace_trampoline},
- {"pipe", libc_pipe_trampoline},
- {"getxattr", libc_getxattr_trampoline},
- {"fgetxattr", libc_fgetxattr_trampoline},
- {"setxattr", libc_setxattr_trampoline},
- {"fsetxattr", libc_fsetxattr_trampoline},
- {"removexattr", libc_removexattr_trampoline},
- {"fremovexattr", libc_fremovexattr_trampoline},
- {"listxattr", libc_listxattr_trampoline},
- {"flistxattr", libc_flistxattr_trampoline},
- {"kill", libc_kill_trampoline},
- {"ioctl", libc_ioctl_trampoline},
- {"access", libc_access_trampoline},
- {"adjtime", libc_adjtime_trampoline},
- {"chdir", libc_chdir_trampoline},
- {"chflags", libc_chflags_trampoline},
- {"chmod", libc_chmod_trampoline},
- {"chown", libc_chown_trampoline},
- {"chroot", libc_chroot_trampoline},
- {"close", libc_close_trampoline},
- {"dup", libc_dup_trampoline},
- {"dup2", libc_dup2_trampoline},
- {"exchangedata", libc_exchangedata_trampoline},
- {"exit", libc_exit_trampoline},
- {"faccessat", libc_faccessat_trampoline},
- {"fchdir", libc_fchdir_trampoline},
- {"fchflags", libc_fchflags_trampoline},
- {"fchmod", libc_fchmod_trampoline},
- {"fchmodat", libc_fchmodat_trampoline},
- {"fchown", libc_fchown_trampoline},
- {"fchownat", libc_fchownat_trampoline},
- {"flock", libc_flock_trampoline},
- {"fpathconf", libc_fpathconf_trampoline},
- {"fstat64", libc_fstat64_trampoline},
- {"fstatat64", libc_fstatat64_trampoline},
- {"fstatfs64", libc_fstatfs64_trampoline},
- {"fsync", libc_fsync_trampoline},
- {"ftruncate", libc_ftruncate_trampoline},
- {"__getdirentries64", libc___getdirentries64_trampoline},
- {"getdtablesize", libc_getdtablesize_trampoline},
- {"getegid", libc_getegid_trampoline},
- {"geteuid", libc_geteuid_trampoline},
- {"getgid", libc_getgid_trampoline},
- {"getpgid", libc_getpgid_trampoline},
- {"getpgrp", libc_getpgrp_trampoline},
- {"getpid", libc_getpid_trampoline},
- {"getppid", libc_getppid_trampoline},
- {"getpriority", libc_getpriority_trampoline},
- {"getrlimit", libc_getrlimit_trampoline},
- {"getrusage", libc_getrusage_trampoline},
- {"getsid", libc_getsid_trampoline},
- {"getuid", libc_getuid_trampoline},
- {"issetugid", libc_issetugid_trampoline},
- {"kqueue", libc_kqueue_trampoline},
- {"lchown", libc_lchown_trampoline},
- {"link", libc_link_trampoline},
- {"linkat", libc_linkat_trampoline},
- {"listen", libc_listen_trampoline},
- {"lstat64", libc_lstat64_trampoline},
- {"mkdir", libc_mkdir_trampoline},
- {"mkdirat", libc_mkdirat_trampoline},
- {"mkfifo", libc_mkfifo_trampoline},
- {"mknod", libc_mknod_trampoline},
- {"open", libc_open_trampoline},
- {"openat", libc_openat_trampoline},
- {"pathconf", libc_pathconf_trampoline},
- {"pread", libc_pread_trampoline},
- {"pwrite", libc_pwrite_trampoline},
- {"read", libc_read_trampoline},
- {"readlink", libc_readlink_trampoline},
- {"readlinkat", libc_readlinkat_trampoline},
- {"rename", libc_rename_trampoline},
- {"renameat", libc_renameat_trampoline},
- {"revoke", libc_revoke_trampoline},
- {"rmdir", libc_rmdir_trampoline},
- {"lseek", libc_lseek_trampoline},
- {"select", libc_select_trampoline},
- {"setegid", libc_setegid_trampoline},
- {"seteuid", libc_seteuid_trampoline},
- {"setgid", libc_setgid_trampoline},
- {"setlogin", libc_setlogin_trampoline},
- {"setpgid", libc_setpgid_trampoline},
- {"setpriority", libc_setpriority_trampoline},
- {"setprivexec", libc_setprivexec_trampoline},
- {"setregid", libc_setregid_trampoline},
- {"setreuid", libc_setreuid_trampoline},
- {"setrlimit", libc_setrlimit_trampoline},
- {"setsid", libc_setsid_trampoline},
- {"settimeofday", libc_settimeofday_trampoline},
- {"setuid", libc_setuid_trampoline},
- {"stat64", libc_stat64_trampoline},
- {"statfs64", libc_statfs64_trampoline},
- {"symlink", libc_symlink_trampoline},
- {"symlinkat", libc_symlinkat_trampoline},
- {"sync", libc_sync_trampoline},
- {"truncate", libc_truncate_trampoline},
- {"umask", libc_umask_trampoline},
- {"undelete", libc_undelete_trampoline},
- {"unlink", libc_unlink_trampoline},
- {"unlinkat", libc_unlinkat_trampoline},
- {"unmount", libc_unmount_trampoline},
- {"write", libc_write_trampoline},
- {"mmap", libc_mmap_trampoline},
- {"munmap", libc_munmap_trampoline},
- {"gettimeofday", libc_gettimeofday_trampoline},
- {"getfsstat64", libc_getfsstat64_trampoline},
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/dev_linux_test.go b/src/cmd/vendor/golang.org/x/sys/unix/dev_linux_test.go
deleted file mode 100644
index 51645289ca..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/dev_linux_test.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build go1.7
-
-package unix_test
-
-import (
- "fmt"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-func TestDevices(t *testing.T) {
- testCases := []struct {
- path string
- major uint32
- minor uint32
- }{
- // well known major/minor numbers according to
- // https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/devices.txt
- {"/dev/null", 1, 3},
- {"/dev/zero", 1, 5},
- {"/dev/random", 1, 8},
- {"/dev/full", 1, 7},
- {"/dev/urandom", 1, 9},
- {"/dev/tty", 5, 0},
- }
- for _, tc := range testCases {
- t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
- var stat unix.Stat_t
- err := unix.Stat(tc.path, &stat)
- if err != nil {
- if err == unix.EACCES {
- t.Skip("no permission to stat device, skipping test")
- }
- t.Errorf("failed to stat device: %v", err)
- return
- }
-
- dev := uint64(stat.Rdev)
- if unix.Major(dev) != tc.major {
- t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
- }
- if unix.Minor(dev) != tc.minor {
- t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
- }
- if unix.Mkdev(tc.major, tc.minor) != dev {
- t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
- }
- })
-
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/example_exec_test.go b/src/cmd/vendor/golang.org/x/sys/unix/example_exec_test.go
deleted file mode 100644
index bb4d3bf5da..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/example_exec_test.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-
-package unix_test
-
-import (
- "log"
- "os"
-
- "golang.org/x/sys/unix"
-)
-
-func ExampleExec() {
- err := unix.Exec("/bin/ls", []string{"ls", "-al"}, os.Environ())
- log.Fatal(err)
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/example_flock_test.go b/src/cmd/vendor/golang.org/x/sys/unix/example_flock_test.go
deleted file mode 100644
index 6c9174859e..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/example_flock_test.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
-
-package unix_test
-
-import (
- "log"
- "os"
-
- "golang.org/x/sys/unix"
-)
-
-func ExampleFlock() {
- f, _ := os.Create("example.lock")
- if err := unix.Flock(int(f.Fd()), unix.LOCK_EX); err != nil {
- log.Fatal(err)
- }
- // Do work here that requires the lock. When finished, release the lock:
- if err := unix.Flock(int(f.Fd()), unix.LOCK_UN); err != nil {
- log.Fatal(err)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/export_test.go b/src/cmd/vendor/golang.org/x/sys/unix/export_test.go
deleted file mode 100644
index f8ae0e0e37..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/export_test.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// 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 aix darwin dragonfly freebsd linux netbsd openbsd solaris
-
-package unix
-
-var Itoa = itoa
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/mmap_unix_test.go b/src/cmd/vendor/golang.org/x/sys/unix/mmap_unix_test.go
deleted file mode 100644
index d4c4ef9264..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/mmap_unix_test.go
+++ /dev/null
@@ -1,41 +0,0 @@
-// 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.
-
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
-
-package unix_test
-
-import (
- "runtime"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-func TestMmap(t *testing.T) {
- b, err := unix.Mmap(-1, 0, unix.Getpagesize(), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE)
- if err != nil {
- t.Fatalf("Mmap: %v", err)
- }
- if err := unix.Mprotect(b, unix.PROT_READ|unix.PROT_WRITE); err != nil {
- t.Fatalf("Mprotect: %v", err)
- }
-
- b[0] = 42
-
- if runtime.GOOS == "aix" {
- t.Skip("msync returns invalid argument for AIX, skipping msync test")
- } else {
- if err := unix.Msync(b, unix.MS_SYNC); err != nil {
- t.Fatalf("Msync: %v", err)
- }
- }
-
- if err := unix.Madvise(b, unix.MADV_DONTNEED); err != nil {
- t.Fatalf("Madvise: %v", err)
- }
- if err := unix.Munmap(b); err != nil {
- t.Fatalf("Munmap: %v", err)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/openbsd_test.go b/src/cmd/vendor/golang.org/x/sys/unix/openbsd_test.go
deleted file mode 100644
index 3ded960712..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/openbsd_test.go
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2016 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 openbsd
-
-// This, on the face of it, bizarre testing mechanism is necessary because
-// the only reliable way to gauge whether or not a pledge(2) call has succeeded
-// is that the program has been killed as a result of breaking its pledge.
-
-package unix_test
-
-import (
- "flag"
- "fmt"
- "io/ioutil"
- "os"
- "os/exec"
- "path/filepath"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-type testProc struct {
- fn func() // should always exit instead of returning
- cleanup func() error // for instance, delete coredumps from testing pledge
- success bool // whether zero-exit means success or failure
-}
-
-var (
- testProcs = map[string]testProc{}
- procName = ""
-)
-
-const (
- optName = "sys-unix-internal-procname"
-)
-
-func init() {
- flag.StringVar(&procName, optName, "", "internal use only")
-}
-
-// testCmd generates a proper command that, when executed, runs the test
-// corresponding to the given key.
-func testCmd(procName string) (*exec.Cmd, error) {
- exe, err := filepath.Abs(os.Args[0])
- if err != nil {
- return nil, err
- }
- cmd := exec.Command(exe, "-"+optName+"="+procName)
- cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr
- return cmd, nil
-}
-
-// ExitsCorrectly is a comprehensive, one-line-of-use wrapper for testing
-// a testProc with a key.
-func ExitsCorrectly(procName string, t *testing.T) {
- s := testProcs[procName]
- c, err := testCmd(procName)
- defer func() {
- if s.cleanup() != nil {
- t.Fatalf("Failed to run cleanup for %s", procName)
- }
- }()
- if err != nil {
- t.Fatalf("Failed to construct command for %s", procName)
- }
- if (c.Run() == nil) != s.success {
- result := "succeed"
- if !s.success {
- result = "fail"
- }
- t.Fatalf("Process did not %s when it was supposed to", result)
- }
-}
-
-func TestMain(m *testing.M) {
- flag.Parse()
- if procName != "" {
- testProcs[procName].fn()
- }
- os.Exit(m.Run())
-}
-
-// For example, add a test for pledge.
-func init() {
- testProcs["pledge"] = testProc{
- func() {
- fmt.Println(unix.Pledge("", ""))
- os.Exit(0)
- },
- func() error {
- files, err := ioutil.ReadDir(".")
- if err != nil {
- return err
- }
- for _, file := range files {
- if filepath.Ext(file.Name()) == ".core" {
- if err := os.Remove(file.Name()); err != nil {
- return err
- }
- }
- }
- return nil
- },
- false,
- }
-}
-
-func TestPledge(t *testing.T) {
- ExitsCorrectly("pledge", t)
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/sendfile_test.go b/src/cmd/vendor/golang.org/x/sys/unix/sendfile_test.go
deleted file mode 100644
index d41fb93c8f..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/sendfile_test.go
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build darwin,amd64 darwin,386 dragonfly freebsd linux solaris
-
-package unix_test
-
-import (
- "io/ioutil"
- "net"
- "os"
- "path/filepath"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-func TestSendfile(t *testing.T) {
- // Set up source data file.
- tempDir, err := ioutil.TempDir("", "TestSendfile")
- if err != nil {
- t.Fatal(err)
- }
- defer os.RemoveAll(tempDir)
- name := filepath.Join(tempDir, "source")
- const contents = "contents"
- err = ioutil.WriteFile(name, []byte(contents), 0666)
- if err != nil {
- t.Fatal(err)
- }
-
- done := make(chan bool)
-
- // Start server listening on a socket.
- ln, err := net.Listen("tcp", "127.0.0.1:0")
- if err != nil {
- t.Skipf("listen failed: %s\n", err)
- }
- defer ln.Close()
- go func() {
- conn, err := ln.Accept()
- if err != nil {
- t.Fatal(err)
- }
- defer conn.Close()
- b, err := ioutil.ReadAll(conn)
- if string(b) != contents {
- t.Errorf("contents not transmitted: got %s (len=%d), want %s", string(b), len(b), contents)
- }
- done <- true
- }()
-
- // Open source file.
- src, err := os.Open(name)
- if err != nil {
- t.Fatal(err)
- }
-
- // Send source file to server.
- conn, err := net.Dial("tcp", ln.Addr().String())
- if err != nil {
- t.Fatal(err)
- }
- file, err := conn.(*net.TCPConn).File()
- if err != nil {
- t.Fatal(err)
- }
- var off int64
- n, err := unix.Sendfile(int(file.Fd()), int(src.Fd()), &off, len(contents))
- if err != nil {
- t.Errorf("Sendfile failed %s\n", err)
- }
- if n != len(contents) {
- t.Errorf("written count wrong: want %d, got %d", len(contents), n)
- }
- // Note: off is updated on some systems and not others. Oh well.
- // Linux: increments off by the amount sent.
- // Darwin: leaves off unchanged.
- // It would be nice to fix Darwin if we can.
- if off != 0 && off != int64(len(contents)) {
- t.Errorf("offset wrong: god %d, want %d or %d", off, 0, len(contents))
- }
- // The cursor position should be unchanged.
- pos, err := src.Seek(0, 1)
- if err != nil {
- t.Errorf("can't get cursor position %s\n", err)
- }
- if pos != 0 {
- t.Errorf("cursor position wrong: got %d, want 0", pos)
- }
-
- file.Close() // Note: required to have the close below really send EOF to the server.
- conn.Close()
-
- // Wait for server to close.
- <-done
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_aix_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_aix_test.go
deleted file mode 100644
index 6f55c07bd1..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_aix_test.go
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build aix
-
-package unix_test
-
-import (
- "os"
- "runtime"
- "testing"
- "time"
-
- "golang.org/x/sys/unix"
-)
-
-func TestIoctlGetInt(t *testing.T) {
- f, err := os.Open("/dev/random")
- if err != nil {
- t.Fatalf("failed to open device: %v", err)
- }
- defer f.Close()
-
- v, err := unix.IoctlGetInt(int(f.Fd()), unix.RNDGETENTCNT)
- if err != nil {
- t.Fatalf("failed to perform ioctl: %v", err)
- }
-
- t.Logf("%d bits of entropy available", v)
-}
-
-func TestTime(t *testing.T) {
- var ut unix.Time_t
- ut2, err := unix.Time(&ut)
- if err != nil {
- t.Fatalf("Time: %v", err)
- }
- if ut != ut2 {
- t.Errorf("Time: return value %v should be equal to argument %v", ut2, ut)
- }
-
- var now time.Time
-
- for i := 0; i < 10; i++ {
- ut, err = unix.Time(nil)
- if err != nil {
- t.Fatalf("Time: %v", err)
- }
-
- now = time.Now()
-
- if int64(ut) == now.Unix() {
- return
- }
- }
-
- t.Errorf("Time: return value %v should be nearly equal to time.Now().Unix() %v", ut, now.Unix())
-}
-
-func TestUtime(t *testing.T) {
- defer chtmpdir(t)()
-
- touch(t, "file1")
-
- buf := &unix.Utimbuf{
- Modtime: 12345,
- }
-
- err := unix.Utime("file1", buf)
- if err != nil {
- t.Fatalf("Utime: %v", err)
- }
-
- fi, err := os.Stat("file1")
- if err != nil {
- t.Fatal(err)
- }
-
- if fi.ModTime().Unix() != 12345 {
- t.Errorf("Utime: failed to change modtime: expected %v, got %v", 12345, fi.ModTime().Unix())
- }
-}
-
-func TestUtimesNanoAt(t *testing.T) {
- defer chtmpdir(t)()
-
- symlink := "symlink1"
- defer os.Remove(symlink)
- err := os.Symlink("nonexisting", symlink)
- if err != nil {
- t.Fatal(err)
- }
-
- ts := []unix.Timespec{
- {Sec: 1111, Nsec: 2222},
- {Sec: 3333, Nsec: 4444},
- }
- err = unix.UtimesNanoAt(unix.AT_FDCWD, symlink, ts, unix.AT_SYMLINK_NOFOLLOW)
- if err != nil {
- t.Fatalf("UtimesNanoAt: %v", err)
- }
-
- var st unix.Stat_t
- err = unix.Lstat(symlink, &st)
- if err != nil {
- t.Fatalf("Lstat: %v", err)
- }
- if runtime.GOARCH == "ppc64" {
- if int64(st.Atim.Sec) != int64(ts[0].Sec) || st.Atim.Nsec != int32(ts[0].Nsec) {
- t.Errorf("UtimesNanoAt: wrong atime: %v", st.Atim)
- }
- if int64(st.Mtim.Sec) != int64(ts[1].Sec) || st.Mtim.Nsec != int32(ts[1].Nsec) {
- t.Errorf("UtimesNanoAt: wrong mtime: %v", st.Mtim)
- }
- } else {
- if int32(st.Atim.Sec) != int32(ts[0].Sec) || int32(st.Atim.Nsec) != int32(ts[0].Nsec) {
- t.Errorf("UtimesNanoAt: wrong atime: %v", st.Atim)
- }
- if int32(st.Mtim.Sec) != int32(ts[1].Sec) || int32(st.Mtim.Nsec) != int32(ts[1].Nsec) {
- t.Errorf("UtimesNanoAt: wrong mtime: %v", st.Mtim)
- }
- }
-}
-
-func TestPselect(t *testing.T) {
- if runtime.GOARCH == "ppc64" {
- t.Skip("pselect issue with structure timespec on AIX 7.2 tl0, skipping test")
- }
-
- _, err := unix.Pselect(0, nil, nil, nil, &unix.Timespec{Sec: 0, Nsec: 0}, nil)
- if err != nil {
- t.Fatalf("Pselect: %v", err)
- }
-
- dur := 2500 * time.Microsecond
- ts := unix.NsecToTimespec(int64(dur))
- start := time.Now()
- _, err = unix.Pselect(0, nil, nil, nil, &ts, nil)
- took := time.Since(start)
- if err != nil {
- t.Fatalf("Pselect: %v", err)
- }
-
- if took < dur {
- t.Errorf("Pselect: timeout should have been at least %v, got %v", dur, took)
- }
-}
-
-// stringsFromByteSlice converts a sequence of attributes to a []string.
-// On Linux, each entry is a NULL-terminated string.
-func stringsFromByteSlice(buf []byte) []string {
- var result []string
- off := 0
- for i, b := range buf {
- if b == 0 {
- result = append(result, string(buf[off:i]))
- off = i + 1
- }
- }
- return result
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd_test.go
deleted file mode 100644
index 12924cb83d..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd_test.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// 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.
-
-// +build darwin dragonfly freebsd openbsd
-
-package unix_test
-
-import (
- "os/exec"
- "runtime"
- "testing"
- "time"
-
- "golang.org/x/sys/unix"
-)
-
-func TestGetfsstat(t *testing.T) {
- n, err := unix.Getfsstat(nil, unix.MNT_NOWAIT)
- if err != nil {
- t.Fatal(err)
- }
-
- data := make([]unix.Statfs_t, n)
- n2, err := unix.Getfsstat(data, unix.MNT_NOWAIT)
- if err != nil {
- t.Fatal(err)
- }
- if n != n2 {
- t.Errorf("Getfsstat(nil) = %d, but subsequent Getfsstat(slice) = %d", n, n2)
- }
- for i, stat := range data {
- if stat == (unix.Statfs_t{}) {
- t.Errorf("index %v is an empty Statfs_t struct", i)
- }
- }
- if t.Failed() {
- for i, stat := range data[:n2] {
- t.Logf("data[%v] = %+v", i, stat)
- }
- mount, err := exec.Command("mount").CombinedOutput()
- if err != nil {
- t.Logf("mount: %v\n%s", err, mount)
- } else {
- t.Logf("mount: %s", mount)
- }
- }
-}
-
-func TestSelect(t *testing.T) {
- err := unix.Select(0, nil, nil, nil, &unix.Timeval{Sec: 0, Usec: 0})
- if err != nil {
- t.Fatalf("Select: %v", err)
- }
-
- dur := 250 * time.Millisecond
- tv := unix.NsecToTimeval(int64(dur))
- start := time.Now()
- err = unix.Select(0, nil, nil, nil, &tv)
- took := time.Since(start)
- if err != nil {
- t.Fatalf("Select: %v", err)
- }
-
- // On some BSDs the actual timeout might also be slightly less than the requested.
- // Add an acceptable margin to avoid flaky tests.
- if took < dur*2/3 {
- t.Errorf("Select: timeout should have been at least %v, got %v", dur, took)
- }
-}
-
-func TestSysctlRaw(t *testing.T) {
- if runtime.GOOS == "openbsd" {
- t.Skip("kern.proc.pid does not exist on OpenBSD")
- }
-
- _, err := unix.SysctlRaw("kern.proc.pid", unix.Getpid())
- if err != nil {
- t.Fatal(err)
- }
-}
-
-func TestSysctlUint32(t *testing.T) {
- maxproc, err := unix.SysctlUint32("kern.maxproc")
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("kern.maxproc: %v", maxproc)
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_test.go
deleted file mode 100644
index 7faa295fce..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_test.go
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package unix_test
-
-import (
- "os"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-// stringsFromByteSlice converts a sequence of attributes to a []string.
-// On Darwin, each entry is a NULL-terminated string.
-func stringsFromByteSlice(buf []byte) []string {
- var result []string
- off := 0
- for i, b := range buf {
- if b == 0 {
- result = append(result, string(buf[off:i]))
- off = i + 1
- }
- }
- return result
-}
-
-func TestUtimesNanoAt(t *testing.T) {
- defer chtmpdir(t)()
-
- symlink := "symlink1"
- os.Remove(symlink)
- err := os.Symlink("nonexisting", symlink)
- if err != nil {
- t.Fatal(err)
- }
-
- ts := []unix.Timespec{
- {Sec: 1111, Nsec: 2222},
- {Sec: 3333, Nsec: 4444},
- }
- err = unix.UtimesNanoAt(unix.AT_FDCWD, symlink, ts, unix.AT_SYMLINK_NOFOLLOW)
- if err != nil {
- t.Fatalf("UtimesNanoAt: %v", err)
- }
-
- var st unix.Stat_t
- err = unix.Lstat(symlink, &st)
- if err != nil {
- t.Fatalf("Lstat: %v", err)
- }
-
- // Only check Mtimespec, Atimespec might not be supported by the underlying filesystem
- expected := ts[1]
- if st.Mtimespec.Nsec == 0 {
- // Some filesystems only support 1-second time stamp resolution
- // and will always set Nsec to 0.
- expected.Nsec = 0
- }
- if st.Mtimespec != expected {
- t.Errorf("UtimesNanoAt: wrong mtime: got %v, expected %v", st.Mtimespec, expected)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go
deleted file mode 100644
index 0fec1a8277..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go
+++ /dev/null
@@ -1,312 +0,0 @@
-// 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.
-
-// +build freebsd
-
-package unix_test
-
-import (
- "flag"
- "fmt"
- "io/ioutil"
- "os"
- "os/exec"
- "path"
- "path/filepath"
- "runtime"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-func TestSysctlUint64(t *testing.T) {
- _, err := unix.SysctlUint64("vm.swap_total")
- if err != nil {
- t.Fatal(err)
- }
-}
-
-// FIXME: Infrastructure for launching tests in subprocesses stolen from openbsd_test.go - refactor?
-// testCmd generates a proper command that, when executed, runs the test
-// corresponding to the given key.
-
-type testProc struct {
- fn func() // should always exit instead of returning
- arg func(t *testing.T) string // generate argument for test
- cleanup func(arg string) error // for instance, delete coredumps from testing pledge
- success bool // whether zero-exit means success or failure
-}
-
-var (
- testProcs = map[string]testProc{}
- procName = ""
- procArg = ""
-)
-
-const (
- optName = "sys-unix-internal-procname"
- optArg = "sys-unix-internal-arg"
-)
-
-func init() {
- flag.StringVar(&procName, optName, "", "internal use only")
- flag.StringVar(&procArg, optArg, "", "internal use only")
-
-}
-
-func testCmd(procName string, procArg string) (*exec.Cmd, error) {
- exe, err := filepath.Abs(os.Args[0])
- if err != nil {
- return nil, err
- }
- cmd := exec.Command(exe, "-"+optName+"="+procName, "-"+optArg+"="+procArg)
- cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr
- return cmd, nil
-}
-
-// ExitsCorrectly is a comprehensive, one-line-of-use wrapper for testing
-// a testProc with a key.
-func ExitsCorrectly(t *testing.T, procName string) {
- s := testProcs[procName]
- arg := "-"
- if s.arg != nil {
- arg = s.arg(t)
- }
- c, err := testCmd(procName, arg)
- defer func(arg string) {
- if err := s.cleanup(arg); err != nil {
- t.Fatalf("Failed to run cleanup for %s %s %#v", procName, err, err)
- }
- }(arg)
- if err != nil {
- t.Fatalf("Failed to construct command for %s", procName)
- }
- if (c.Run() == nil) != s.success {
- result := "succeed"
- if !s.success {
- result = "fail"
- }
- t.Fatalf("Process did not %s when it was supposed to", result)
- }
-}
-
-func TestMain(m *testing.M) {
- flag.Parse()
- if procName != "" {
- t := testProcs[procName]
- t.fn()
- os.Stderr.WriteString("test function did not exit\n")
- if t.success {
- os.Exit(1)
- } else {
- os.Exit(0)
- }
- }
- os.Exit(m.Run())
-}
-
-// end of infrastructure
-
-const testfile = "gocapmodetest"
-const testfile2 = testfile + "2"
-
-func CapEnterTest() {
- _, err := os.OpenFile(path.Join(procArg, testfile), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
- if err != nil {
- panic(fmt.Sprintf("OpenFile: %s", err))
- }
-
- err = unix.CapEnter()
- if err != nil {
- panic(fmt.Sprintf("CapEnter: %s", err))
- }
-
- _, err = os.OpenFile(path.Join(procArg, testfile2), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
- if err == nil {
- panic("OpenFile works!")
- }
- if err.(*os.PathError).Err != unix.ECAPMODE {
- panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err))
- }
- os.Exit(0)
-}
-
-func makeTempDir(t *testing.T) string {
- d, err := ioutil.TempDir("", "go_openat_test")
- if err != nil {
- t.Fatalf("TempDir failed: %s", err)
- }
- return d
-}
-
-func removeTempDir(arg string) error {
- err := os.RemoveAll(arg)
- if err != nil && err.(*os.PathError).Err == unix.ENOENT {
- return nil
- }
- return err
-}
-
-func init() {
- testProcs["cap_enter"] = testProc{
- CapEnterTest,
- makeTempDir,
- removeTempDir,
- true,
- }
-}
-
-func TestCapEnter(t *testing.T) {
- if runtime.GOARCH != "amd64" {
- t.Skipf("skipping test on %s", runtime.GOARCH)
- }
- ExitsCorrectly(t, "cap_enter")
-}
-
-func OpenatTest() {
- f, err := os.Open(procArg)
- if err != nil {
- panic(err)
- }
-
- err = unix.CapEnter()
- if err != nil {
- panic(fmt.Sprintf("CapEnter: %s", err))
- }
-
- fxx, err := unix.Openat(int(f.Fd()), "xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
- if err != nil {
- panic(err)
- }
- unix.Close(fxx)
-
- // The right to open BASE/xx is not ambient
- _, err = os.OpenFile(procArg+"/xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
- if err == nil {
- panic("OpenFile succeeded")
- }
- if err.(*os.PathError).Err != unix.ECAPMODE {
- panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err))
- }
-
- // Can't make a new directory either
- err = os.Mkdir(procArg+"2", 0777)
- if err == nil {
- panic("MKdir succeeded")
- }
- if err.(*os.PathError).Err != unix.ECAPMODE {
- panic(fmt.Sprintf("Mkdir failed wrong: %s %#v", err, err))
- }
-
- // Remove all caps except read and lookup.
- r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_LOOKUP})
- if err != nil {
- panic(fmt.Sprintf("CapRightsInit failed: %s %#v", err, err))
- }
- err = unix.CapRightsLimit(f.Fd(), r)
- if err != nil {
- panic(fmt.Sprintf("CapRightsLimit failed: %s %#v", err, err))
- }
-
- // Check we can get the rights back again
- r, err = unix.CapRightsGet(f.Fd())
- if err != nil {
- panic(fmt.Sprintf("CapRightsGet failed: %s %#v", err, err))
- }
- b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP})
- if err != nil {
- panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err))
- }
- if !b {
- panic(fmt.Sprintf("Unexpected rights"))
- }
- b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP, unix.CAP_WRITE})
- if err != nil {
- panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err))
- }
- if b {
- panic(fmt.Sprintf("Unexpected rights (2)"))
- }
-
- // Can no longer create a file
- _, err = unix.Openat(int(f.Fd()), "xx2", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
- if err == nil {
- panic("Openat succeeded")
- }
- if err != unix.ENOTCAPABLE {
- panic(fmt.Sprintf("OpenFileAt failed wrong: %s %#v", err, err))
- }
-
- // But can read an existing one
- _, err = unix.Openat(int(f.Fd()), "xx", os.O_RDONLY, 0666)
- if err != nil {
- panic(fmt.Sprintf("Openat failed: %s %#v", err, err))
- }
-
- os.Exit(0)
-}
-
-func init() {
- testProcs["openat"] = testProc{
- OpenatTest,
- makeTempDir,
- removeTempDir,
- true,
- }
-}
-
-func TestOpenat(t *testing.T) {
- if runtime.GOARCH != "amd64" {
- t.Skipf("skipping test on %s", runtime.GOARCH)
- }
- ExitsCorrectly(t, "openat")
-}
-
-func TestCapRightsSetAndClear(t *testing.T) {
- r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT})
- if err != nil {
- t.Fatalf("CapRightsInit failed: %s", err)
- }
-
- err = unix.CapRightsSet(r, []uint64{unix.CAP_EVENT, unix.CAP_LISTEN})
- if err != nil {
- t.Fatalf("CapRightsSet failed: %s", err)
- }
-
- b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT, unix.CAP_EVENT, unix.CAP_LISTEN})
- if err != nil {
- t.Fatalf("CapRightsIsSet failed: %s", err)
- }
- if !b {
- t.Fatalf("Wrong rights set")
- }
-
- err = unix.CapRightsClear(r, []uint64{unix.CAP_READ, unix.CAP_PDWAIT})
- if err != nil {
- t.Fatalf("CapRightsClear failed: %s", err)
- }
-
- b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_WRITE, unix.CAP_EVENT, unix.CAP_LISTEN})
- if err != nil {
- t.Fatalf("CapRightsIsSet failed: %s", err)
- }
- if !b {
- t.Fatalf("Wrong rights set")
- }
-}
-
-// stringsFromByteSlice converts a sequence of attributes to a []string.
-// On FreeBSD, each entry consists of a single byte containing the length
-// of the attribute name, followed by the attribute name.
-// The name is _not_ NULL-terminated.
-func stringsFromByteSlice(buf []byte) []string {
- var result []string
- i := 0
- for i < len(buf) {
- next := i + 1 + int(buf[i])
- result = append(result, string(buf[i+1:next]))
- i = next
- }
- return result
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_test.go
deleted file mode 100644
index 758efa66e5..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_test.go
+++ /dev/null
@@ -1,484 +0,0 @@
-// Copyright 2016 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 linux
-
-package unix_test
-
-import (
- "io/ioutil"
- "os"
- "runtime"
- "runtime/debug"
- "testing"
- "time"
-
- "golang.org/x/sys/unix"
-)
-
-func TestIoctlGetInt(t *testing.T) {
- f, err := os.Open("/dev/random")
- if err != nil {
- t.Fatalf("failed to open device: %v", err)
- }
- defer f.Close()
-
- v, err := unix.IoctlGetInt(int(f.Fd()), unix.RNDGETENTCNT)
- if err != nil {
- t.Fatalf("failed to perform ioctl: %v", err)
- }
-
- t.Logf("%d bits of entropy available", v)
-}
-
-func TestPpoll(t *testing.T) {
- if runtime.GOOS == "android" {
- t.Skip("mkfifo syscall is not available on android, skipping test")
- }
-
- f, cleanup := mktmpfifo(t)
- defer cleanup()
-
- const timeout = 100 * time.Millisecond
-
- ok := make(chan bool, 1)
- go func() {
- select {
- case <-time.After(10 * timeout):
- t.Errorf("Ppoll: failed to timeout after %d", 10*timeout)
- case <-ok:
- }
- }()
-
- fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}}
- timeoutTs := unix.NsecToTimespec(int64(timeout))
- n, err := unix.Ppoll(fds, &timeoutTs, nil)
- ok <- true
- if err != nil {
- t.Errorf("Ppoll: unexpected error: %v", err)
- return
- }
- if n != 0 {
- t.Errorf("Ppoll: wrong number of events: got %v, expected %v", n, 0)
- return
- }
-}
-
-func TestTime(t *testing.T) {
- var ut unix.Time_t
- ut2, err := unix.Time(&ut)
- if err != nil {
- t.Fatalf("Time: %v", err)
- }
- if ut != ut2 {
- t.Errorf("Time: return value %v should be equal to argument %v", ut2, ut)
- }
-
- var now time.Time
-
- for i := 0; i < 10; i++ {
- ut, err = unix.Time(nil)
- if err != nil {
- t.Fatalf("Time: %v", err)
- }
-
- now = time.Now()
-
- if int64(ut) == now.Unix() {
- return
- }
- }
-
- t.Errorf("Time: return value %v should be nearly equal to time.Now().Unix() %v", ut, now.Unix())
-}
-
-func TestUtime(t *testing.T) {
- defer chtmpdir(t)()
-
- touch(t, "file1")
-
- buf := &unix.Utimbuf{
- Modtime: 12345,
- }
-
- err := unix.Utime("file1", buf)
- if err != nil {
- t.Fatalf("Utime: %v", err)
- }
-
- fi, err := os.Stat("file1")
- if err != nil {
- t.Fatal(err)
- }
-
- if fi.ModTime().Unix() != 12345 {
- t.Errorf("Utime: failed to change modtime: expected %v, got %v", 12345, fi.ModTime().Unix())
- }
-}
-
-func TestUtimesNanoAt(t *testing.T) {
- defer chtmpdir(t)()
-
- symlink := "symlink1"
- os.Remove(symlink)
- err := os.Symlink("nonexisting", symlink)
- if err != nil {
- t.Fatal(err)
- }
-
- ts := []unix.Timespec{
- {Sec: 1111, Nsec: 2222},
- {Sec: 3333, Nsec: 4444},
- }
- err = unix.UtimesNanoAt(unix.AT_FDCWD, symlink, ts, unix.AT_SYMLINK_NOFOLLOW)
- if err != nil {
- t.Fatalf("UtimesNanoAt: %v", err)
- }
-
- var st unix.Stat_t
- err = unix.Lstat(symlink, &st)
- if err != nil {
- t.Fatalf("Lstat: %v", err)
- }
-
- // Only check Mtim, Atim might not be supported by the underlying filesystem
- expected := ts[1]
- if st.Mtim.Nsec == 0 {
- // Some filesystems only support 1-second time stamp resolution
- // and will always set Nsec to 0.
- expected.Nsec = 0
- }
- if st.Mtim != expected {
- t.Errorf("UtimesNanoAt: wrong mtime: expected %v, got %v", expected, st.Mtim)
- }
-}
-
-func TestRlimitAs(t *testing.T) {
- // disable GC during to avoid flaky test
- defer debug.SetGCPercent(debug.SetGCPercent(-1))
-
- var rlim unix.Rlimit
- err := unix.Getrlimit(unix.RLIMIT_AS, &rlim)
- if err != nil {
- t.Fatalf("Getrlimit: %v", err)
- }
- var zero unix.Rlimit
- if zero == rlim {
- t.Fatalf("Getrlimit: got zero value %#v", rlim)
- }
- set := rlim
- set.Cur = uint64(unix.Getpagesize())
- err = unix.Setrlimit(unix.RLIMIT_AS, &set)
- if err != nil {
- t.Fatalf("Setrlimit: set failed: %#v %v", set, err)
- }
-
- // RLIMIT_AS was set to the page size, so mmap()'ing twice the page size
- // should fail. See 'man 2 getrlimit'.
- _, err = unix.Mmap(-1, 0, 2*unix.Getpagesize(), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE)
- if err == nil {
- t.Fatal("Mmap: unexpectedly succeeded after setting RLIMIT_AS")
- }
-
- err = unix.Setrlimit(unix.RLIMIT_AS, &rlim)
- if err != nil {
- t.Fatalf("Setrlimit: restore failed: %#v %v", rlim, err)
- }
-
- b, err := unix.Mmap(-1, 0, 2*unix.Getpagesize(), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE)
- if err != nil {
- t.Fatalf("Mmap: %v", err)
- }
- err = unix.Munmap(b)
- if err != nil {
- t.Fatalf("Munmap: %v", err)
- }
-}
-
-func TestSelect(t *testing.T) {
- _, err := unix.Select(0, nil, nil, nil, &unix.Timeval{Sec: 0, Usec: 0})
- if err != nil {
- t.Fatalf("Select: %v", err)
- }
-
- dur := 150 * time.Millisecond
- tv := unix.NsecToTimeval(int64(dur))
- start := time.Now()
- _, err = unix.Select(0, nil, nil, nil, &tv)
- took := time.Since(start)
- if err != nil {
- t.Fatalf("Select: %v", err)
- }
-
- if took < dur {
- t.Errorf("Select: timeout should have been at least %v, got %v", dur, took)
- }
-}
-
-func TestPselect(t *testing.T) {
- _, err := unix.Pselect(0, nil, nil, nil, &unix.Timespec{Sec: 0, Nsec: 0}, nil)
- if err != nil {
- t.Fatalf("Pselect: %v", err)
- }
-
- dur := 2500 * time.Microsecond
- ts := unix.NsecToTimespec(int64(dur))
- start := time.Now()
- _, err = unix.Pselect(0, nil, nil, nil, &ts, nil)
- took := time.Since(start)
- if err != nil {
- t.Fatalf("Pselect: %v", err)
- }
-
- if took < dur {
- t.Errorf("Pselect: timeout should have been at least %v, got %v", dur, took)
- }
-}
-
-func TestSchedSetaffinity(t *testing.T) {
- runtime.LockOSThread()
- defer runtime.UnlockOSThread()
-
- var oldMask unix.CPUSet
- err := unix.SchedGetaffinity(0, &oldMask)
- if err != nil {
- t.Fatalf("SchedGetaffinity: %v", err)
- }
-
- var newMask unix.CPUSet
- newMask.Zero()
- if newMask.Count() != 0 {
- t.Errorf("CpuZero: didn't zero CPU set: %v", newMask)
- }
- cpu := 1
- newMask.Set(cpu)
- if newMask.Count() != 1 || !newMask.IsSet(cpu) {
- t.Errorf("CpuSet: didn't set CPU %d in set: %v", cpu, newMask)
- }
- cpu = 5
- newMask.Set(cpu)
- if newMask.Count() != 2 || !newMask.IsSet(cpu) {
- t.Errorf("CpuSet: didn't set CPU %d in set: %v", cpu, newMask)
- }
- newMask.Clear(cpu)
- if newMask.Count() != 1 || newMask.IsSet(cpu) {
- t.Errorf("CpuClr: didn't clear CPU %d in set: %v", cpu, newMask)
- }
-
- if runtime.NumCPU() < 2 {
- t.Skip("skipping setaffinity tests on single CPU system")
- }
- if runtime.GOOS == "android" {
- t.Skip("skipping setaffinity tests on android")
- }
-
- // On a system like ppc64x where some cores can be disabled using ppc64_cpu,
- // setaffinity should only be called with enabled cores. The valid cores
- // are found from the oldMask, but if none are found then the setaffinity
- // tests are skipped. Issue #27875.
- if !oldMask.IsSet(cpu) {
- newMask.Zero()
- for i := 0; i < len(oldMask); i++ {
- if oldMask.IsSet(i) {
- newMask.Set(i)
- break
- }
- }
- if newMask.Count() == 0 {
- t.Skip("skipping setaffinity tests if CPU not available")
- }
- }
-
- err = unix.SchedSetaffinity(0, &newMask)
- if err != nil {
- t.Fatalf("SchedSetaffinity: %v", err)
- }
-
- var gotMask unix.CPUSet
- err = unix.SchedGetaffinity(0, &gotMask)
- if err != nil {
- t.Fatalf("SchedGetaffinity: %v", err)
- }
-
- if gotMask != newMask {
- t.Errorf("SchedSetaffinity: returned affinity mask does not match set affinity mask")
- }
-
- // Restore old mask so it doesn't affect successive tests
- err = unix.SchedSetaffinity(0, &oldMask)
- if err != nil {
- t.Fatalf("SchedSetaffinity: %v", err)
- }
-}
-
-func TestStatx(t *testing.T) {
- var stx unix.Statx_t
- err := unix.Statx(unix.AT_FDCWD, ".", 0, 0, &stx)
- if err == unix.ENOSYS || err == unix.EPERM {
- t.Skip("statx syscall is not available, skipping test")
- } else if err != nil {
- t.Fatalf("Statx: %v", err)
- }
-
- defer chtmpdir(t)()
- touch(t, "file1")
-
- var st unix.Stat_t
- err = unix.Stat("file1", &st)
- if err != nil {
- t.Fatalf("Stat: %v", err)
- }
-
- flags := unix.AT_STATX_SYNC_AS_STAT
- err = unix.Statx(unix.AT_FDCWD, "file1", flags, unix.STATX_ALL, &stx)
- if err != nil {
- t.Fatalf("Statx: %v", err)
- }
-
- if uint32(stx.Mode) != st.Mode {
- t.Errorf("Statx: returned stat mode does not match Stat")
- }
-
- ctime := unix.StatxTimestamp{Sec: int64(st.Ctim.Sec), Nsec: uint32(st.Ctim.Nsec)}
- mtime := unix.StatxTimestamp{Sec: int64(st.Mtim.Sec), Nsec: uint32(st.Mtim.Nsec)}
-
- if stx.Ctime != ctime {
- t.Errorf("Statx: returned stat ctime does not match Stat")
- }
- if stx.Mtime != mtime {
- t.Errorf("Statx: returned stat mtime does not match Stat")
- }
-
- err = os.Symlink("file1", "symlink1")
- if err != nil {
- t.Fatal(err)
- }
-
- err = unix.Lstat("symlink1", &st)
- if err != nil {
- t.Fatalf("Lstat: %v", err)
- }
-
- err = unix.Statx(unix.AT_FDCWD, "symlink1", flags, unix.STATX_BASIC_STATS, &stx)
- if err != nil {
- t.Fatalf("Statx: %v", err)
- }
-
- // follow symlink, expect a regulat file
- if stx.Mode&unix.S_IFREG == 0 {
- t.Errorf("Statx: didn't follow symlink")
- }
-
- err = unix.Statx(unix.AT_FDCWD, "symlink1", flags|unix.AT_SYMLINK_NOFOLLOW, unix.STATX_ALL, &stx)
- if err != nil {
- t.Fatalf("Statx: %v", err)
- }
-
- // follow symlink, expect a symlink
- if stx.Mode&unix.S_IFLNK == 0 {
- t.Errorf("Statx: unexpectedly followed symlink")
- }
- if uint32(stx.Mode) != st.Mode {
- t.Errorf("Statx: returned stat mode does not match Lstat")
- }
-
- ctime = unix.StatxTimestamp{Sec: int64(st.Ctim.Sec), Nsec: uint32(st.Ctim.Nsec)}
- mtime = unix.StatxTimestamp{Sec: int64(st.Mtim.Sec), Nsec: uint32(st.Mtim.Nsec)}
-
- if stx.Ctime != ctime {
- t.Errorf("Statx: returned stat ctime does not match Lstat")
- }
- if stx.Mtime != mtime {
- t.Errorf("Statx: returned stat mtime does not match Lstat")
- }
-}
-
-// stringsFromByteSlice converts a sequence of attributes to a []string.
-// On Linux, each entry is a NULL-terminated string.
-func stringsFromByteSlice(buf []byte) []string {
- var result []string
- off := 0
- for i, b := range buf {
- if b == 0 {
- result = append(result, string(buf[off:i]))
- off = i + 1
- }
- }
- return result
-}
-
-func TestFaccessat(t *testing.T) {
- defer chtmpdir(t)()
- touch(t, "file1")
-
- err := unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, 0)
- if err != nil {
- t.Errorf("Faccessat: unexpected error: %v", err)
- }
-
- err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, 2)
- if err != unix.EINVAL {
- t.Errorf("Faccessat: unexpected error: %v, want EINVAL", err)
- }
-
- err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, unix.AT_EACCESS)
- if err != nil {
- t.Errorf("Faccessat: unexpected error: %v", err)
- }
-
- err = os.Symlink("file1", "symlink1")
- if err != nil {
- t.Fatal(err)
- }
-
- err = unix.Faccessat(unix.AT_FDCWD, "symlink1", unix.R_OK, unix.AT_SYMLINK_NOFOLLOW)
- if err != nil {
- t.Errorf("Faccessat SYMLINK_NOFOLLOW: unexpected error %v", err)
- }
-
- // We can't really test AT_SYMLINK_NOFOLLOW, because there
- // doesn't seem to be any way to change the mode of a symlink.
- // We don't test AT_EACCESS because such tests are only
- // meaningful if run as root.
-
- err = unix.Fchmodat(unix.AT_FDCWD, "file1", 0, 0)
- if err != nil {
- t.Errorf("Fchmodat: unexpected error %v", err)
- }
-
- err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.F_OK, unix.AT_SYMLINK_NOFOLLOW)
- if err != nil {
- t.Errorf("Faccessat: unexpected error: %v", err)
- }
-
- err = unix.Faccessat(unix.AT_FDCWD, "file1", unix.R_OK, unix.AT_SYMLINK_NOFOLLOW)
- if err != unix.EACCES {
- if unix.Getuid() != 0 {
- t.Errorf("Faccessat: unexpected error: %v, want EACCES", err)
- }
- }
-}
-
-func TestSyncFileRange(t *testing.T) {
- file, err := ioutil.TempFile("", "TestSyncFileRange")
- if err != nil {
- t.Fatal(err)
- }
- defer os.Remove(file.Name())
- defer file.Close()
-
- err = unix.SyncFileRange(int(file.Fd()), 0, 0, 0)
- if err == unix.ENOSYS || err == unix.EPERM {
- t.Skip("sync_file_range syscall is not available, skipping test")
- } else if err != nil {
- t.Fatalf("SyncFileRange: %v", err)
- }
-
- // invalid flags
- flags := 0xf00
- err = unix.SyncFileRange(int(file.Fd()), 0, 0, flags)
- if err != unix.EINVAL {
- t.Fatalf("SyncFileRange: unexpected error: %v, want EINVAL", err)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_test.go
deleted file mode 100644
index 41141f96e6..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd_test.go
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package unix_test
-
-import (
- "bytes"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-// stringsFromByteSlice converts a sequence of attributes to a []string.
-// On NetBSD, each entry consists of a single byte containing the length
-// of the attribute name, followed by the attribute name.
-// The name is _not_ NULL-terminated.
-func stringsFromByteSlice(buf []byte) []string {
- var result []string
- i := 0
- for i < len(buf) {
- next := i + 1 + int(buf[i])
- result = append(result, string(buf[i+1:next]))
- i = next
- }
- return result
-}
-
-func TestSysctlClockinfo(t *testing.T) {
- ci, err := unix.SysctlClockinfo("kern.clockrate")
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("tick = %v, tickadj = %v, hz = %v, profhz = %v, stathz = %v",
- ci.Tick, ci.Tickadj, ci.Hz, ci.Profhz, ci.Stathz)
-}
-
-func TestIoctlPtmget(t *testing.T) {
- fd, err := unix.Open("/dev/ptmx", unix.O_NOCTTY|unix.O_RDWR, 0666)
- if err != nil {
- t.Skip("failed to open /dev/ptmx, skipping test")
- }
- defer unix.Close(fd)
-
- ptm, err := unix.IoctlGetPtmget(fd, unix.TIOCPTSNAME)
- if err != nil {
- t.Fatalf("IoctlGetPtmget: %v\n", err)
- }
-
- t.Logf("sfd = %v, ptsname = %v", ptm.Sfd, string(ptm.Sn[:bytes.IndexByte(ptm.Sn[:], 0)]))
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_test.go
deleted file mode 100644
index b95f334e19..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd_test.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package unix_test
-
-import (
- "testing"
- "time"
-
- "golang.org/x/sys/unix"
-)
-
-func TestPpoll(t *testing.T) {
- f, cleanup := mktmpfifo(t)
- defer cleanup()
-
- const timeout = 100 * time.Millisecond
-
- ok := make(chan bool, 1)
- go func() {
- select {
- case <-time.After(10 * timeout):
- t.Errorf("Ppoll: failed to timeout after %d", 10*timeout)
- case <-ok:
- }
- }()
-
- fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}}
- timeoutTs := unix.NsecToTimespec(int64(timeout))
- n, err := unix.Ppoll(fds, &timeoutTs, nil)
- ok <- true
- if err != nil {
- t.Errorf("Ppoll: unexpected error: %v", err)
- return
- }
- if n != 0 {
- t.Errorf("Ppoll: wrong number of events: got %v, expected %v", n, 0)
- return
- }
-}
-
-func TestSysctlUvmexp(t *testing.T) {
- uvm, err := unix.SysctlUvmexp("vm.uvmexp")
- if err != nil {
- t.Fatal(err)
- }
- t.Logf("free = %v", uvm.Free)
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris_test.go
deleted file mode 100644
index 57dba88243..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris_test.go
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2017 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build solaris
-
-package unix_test
-
-import (
- "os/exec"
- "testing"
- "time"
-
- "golang.org/x/sys/unix"
-)
-
-func TestSelect(t *testing.T) {
- err := unix.Select(0, nil, nil, nil, &unix.Timeval{Sec: 0, Usec: 0})
- if err != nil {
- t.Fatalf("Select: %v", err)
- }
-
- dur := 150 * time.Millisecond
- tv := unix.NsecToTimeval(int64(dur))
- start := time.Now()
- err = unix.Select(0, nil, nil, nil, &tv)
- took := time.Since(start)
- if err != nil {
- t.Fatalf("Select: %v", err)
- }
-
- if took < dur {
- t.Errorf("Select: timeout should have been at least %v, got %v", dur, took)
- }
-}
-
-func TestStatvfs(t *testing.T) {
- if err := unix.Statvfs("", nil); err == nil {
- t.Fatal(`Statvfs("") expected failure`)
- }
-
- statvfs := unix.Statvfs_t{}
- if err := unix.Statvfs("/", &statvfs); err != nil {
- t.Errorf(`Statvfs("/") failed: %v`, err)
- }
-
- if t.Failed() {
- mount, err := exec.Command("mount").CombinedOutput()
- if err != nil {
- t.Logf("mount: %v\n%s", err, mount)
- } else {
- t.Logf("mount: %s", mount)
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_test.go
deleted file mode 100644
index dc857840a4..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_test.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2013 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 netbsd openbsd solaris
-
-package unix_test
-
-import (
- "fmt"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-func testSetGetenv(t *testing.T, key, value string) {
- err := unix.Setenv(key, value)
- if err != nil {
- t.Fatalf("Setenv failed to set %q: %v", value, err)
- }
- newvalue, found := unix.Getenv(key)
- if !found {
- t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value)
- }
- if newvalue != value {
- t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value)
- }
-}
-
-func TestEnv(t *testing.T) {
- testSetGetenv(t, "TESTENV", "AVALUE")
- // make sure TESTENV gets set to "", not deleted
- testSetGetenv(t, "TESTENV", "")
-}
-
-func TestItoa(t *testing.T) {
- // Make most negative integer: 0x8000...
- i := 1
- for i<<1 != 0 {
- i <<= 1
- }
- if i >= 0 {
- t.Fatal("bad math")
- }
- s := unix.Itoa(i)
- f := fmt.Sprint(i)
- if s != f {
- t.Fatalf("itoa(%d) = %s, want %s", i, s, f)
- }
-}
-
-func TestUname(t *testing.T) {
- var utsname unix.Utsname
- err := unix.Uname(&utsname)
- if err != nil {
- t.Fatalf("Uname: %v", err)
- }
-
- t.Logf("OS: %s/%s %s", utsname.Sysname[:], utsname.Machine[:], utsname.Release[:])
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go b/src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go
deleted file mode 100644
index c1b1ea59a0..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go
+++ /dev/null
@@ -1,677 +0,0 @@
-// Copyright 2013 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 netbsd openbsd solaris
-
-package unix_test
-
-import (
- "flag"
- "fmt"
- "io/ioutil"
- "net"
- "os"
- "os/exec"
- "path/filepath"
- "runtime"
- "syscall"
- "testing"
- "time"
-
- "golang.org/x/sys/unix"
-)
-
-// Tests that below functions, structures and constants are consistent
-// on all Unix-like systems.
-func _() {
- // program scheduling priority functions and constants
- var (
- _ func(int, int, int) error = unix.Setpriority
- _ func(int, int) (int, error) = unix.Getpriority
- )
- const (
- _ int = unix.PRIO_USER
- _ int = unix.PRIO_PROCESS
- _ int = unix.PRIO_PGRP
- )
-
- // termios constants
- const (
- _ int = unix.TCIFLUSH
- _ int = unix.TCIOFLUSH
- _ int = unix.TCOFLUSH
- )
-
- // fcntl file locking structure and constants
- var (
- _ = unix.Flock_t{
- Type: int16(0),
- Whence: int16(0),
- Start: int64(0),
- Len: int64(0),
- Pid: int32(0),
- }
- )
- const (
- _ = unix.F_GETLK
- _ = unix.F_SETLK
- _ = unix.F_SETLKW
- )
-}
-
-func TestErrnoSignalName(t *testing.T) {
- testErrors := []struct {
- num syscall.Errno
- name string
- }{
- {syscall.EPERM, "EPERM"},
- {syscall.EINVAL, "EINVAL"},
- {syscall.ENOENT, "ENOENT"},
- }
-
- for _, te := range testErrors {
- t.Run(fmt.Sprintf("%d/%s", te.num, te.name), func(t *testing.T) {
- e := unix.ErrnoName(te.num)
- if e != te.name {
- t.Errorf("ErrnoName(%d) returned %s, want %s", te.num, e, te.name)
- }
- })
- }
-
- testSignals := []struct {
- num syscall.Signal
- name string
- }{
- {syscall.SIGHUP, "SIGHUP"},
- {syscall.SIGPIPE, "SIGPIPE"},
- {syscall.SIGSEGV, "SIGSEGV"},
- }
-
- for _, ts := range testSignals {
- t.Run(fmt.Sprintf("%d/%s", ts.num, ts.name), func(t *testing.T) {
- s := unix.SignalName(ts.num)
- if s != ts.name {
- t.Errorf("SignalName(%d) returned %s, want %s", ts.num, s, ts.name)
- }
- })
- }
-}
-
-func TestFcntlInt(t *testing.T) {
- t.Parallel()
- file, err := ioutil.TempFile("", "TestFnctlInt")
- if err != nil {
- t.Fatal(err)
- }
- defer os.Remove(file.Name())
- defer file.Close()
- f := file.Fd()
- flags, err := unix.FcntlInt(f, unix.F_GETFD, 0)
- if err != nil {
- t.Fatal(err)
- }
- if flags&unix.FD_CLOEXEC == 0 {
- t.Errorf("flags %#x do not include FD_CLOEXEC", flags)
- }
-}
-
-// TestFcntlFlock tests whether the file locking structure matches
-// the calling convention of each kernel.
-func TestFcntlFlock(t *testing.T) {
- name := filepath.Join(os.TempDir(), "TestFcntlFlock")
- fd, err := unix.Open(name, unix.O_CREAT|unix.O_RDWR|unix.O_CLOEXEC, 0)
- if err != nil {
- t.Fatalf("Open failed: %v", err)
- }
- defer unix.Unlink(name)
- defer unix.Close(fd)
- flock := unix.Flock_t{
- Type: unix.F_RDLCK,
- Start: 0, Len: 0, Whence: 1,
- }
- if err := unix.FcntlFlock(uintptr(fd), unix.F_GETLK, &flock); err != nil {
- t.Fatalf("FcntlFlock failed: %v", err)
- }
-}
-
-// TestPassFD tests passing a file descriptor over a Unix socket.
-//
-// This test involved both a parent and child process. The parent
-// process is invoked as a normal test, with "go test", which then
-// runs the child process by running the current test binary with args
-// "-test.run=^TestPassFD$" and an environment variable used to signal
-// that the test should become the child process instead.
-func TestPassFD(t *testing.T) {
- if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") {
- t.Skip("cannot exec subprocess on iOS, skipping test")
- }
- if runtime.GOOS == "aix" {
- t.Skip("getsockname issue on AIX 7.2 tl1, skipping test")
- }
-
- if os.Getenv("GO_WANT_HELPER_PROCESS") == "1" {
- passFDChild()
- return
- }
-
- tempDir, err := ioutil.TempDir("", "TestPassFD")
- if err != nil {
- t.Fatal(err)
- }
- defer os.RemoveAll(tempDir)
-
- fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0)
- if err != nil {
- t.Fatalf("Socketpair: %v", err)
- }
- defer unix.Close(fds[0])
- defer unix.Close(fds[1])
- writeFile := os.NewFile(uintptr(fds[0]), "child-writes")
- readFile := os.NewFile(uintptr(fds[1]), "parent-reads")
- defer writeFile.Close()
- defer readFile.Close()
-
- cmd := exec.Command(os.Args[0], "-test.run=^TestPassFD$", "--", tempDir)
- cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"}
- if lp := os.Getenv("LD_LIBRARY_PATH"); lp != "" {
- cmd.Env = append(cmd.Env, "LD_LIBRARY_PATH="+lp)
- }
- cmd.ExtraFiles = []*os.File{writeFile}
-
- out, err := cmd.CombinedOutput()
- if len(out) > 0 || err != nil {
- t.Fatalf("child process: %q, %v", out, err)
- }
-
- c, err := net.FileConn(readFile)
- if err != nil {
- t.Fatalf("FileConn: %v", err)
- }
- defer c.Close()
-
- uc, ok := c.(*net.UnixConn)
- if !ok {
- t.Fatalf("unexpected FileConn type; expected UnixConn, got %T", c)
- }
-
- buf := make([]byte, 32) // expect 1 byte
- oob := make([]byte, 32) // expect 24 bytes
- closeUnix := time.AfterFunc(5*time.Second, func() {
- t.Logf("timeout reading from unix socket")
- uc.Close()
- })
- _, oobn, _, _, err := uc.ReadMsgUnix(buf, oob)
- if err != nil {
- t.Fatalf("ReadMsgUnix: %v", err)
- }
- closeUnix.Stop()
-
- scms, err := unix.ParseSocketControlMessage(oob[:oobn])
- if err != nil {
- t.Fatalf("ParseSocketControlMessage: %v", err)
- }
- if len(scms) != 1 {
- t.Fatalf("expected 1 SocketControlMessage; got scms = %#v", scms)
- }
- scm := scms[0]
- gotFds, err := unix.ParseUnixRights(&scm)
- if err != nil {
- t.Fatalf("unix.ParseUnixRights: %v", err)
- }
- if len(gotFds) != 1 {
- t.Fatalf("wanted 1 fd; got %#v", gotFds)
- }
-
- f := os.NewFile(uintptr(gotFds[0]), "fd-from-child")
- defer f.Close()
-
- got, err := ioutil.ReadAll(f)
- want := "Hello from child process!\n"
- if string(got) != want {
- t.Errorf("child process ReadAll: %q, %v; want %q", got, err, want)
- }
-}
-
-// passFDChild is the child process used by TestPassFD.
-func passFDChild() {
- defer os.Exit(0)
-
- // Look for our fd. It should be fd 3, but we work around an fd leak
- // bug here (http://golang.org/issue/2603) to let it be elsewhere.
- var uc *net.UnixConn
- for fd := uintptr(3); fd <= 10; fd++ {
- f := os.NewFile(fd, "unix-conn")
- var ok bool
- netc, _ := net.FileConn(f)
- uc, ok = netc.(*net.UnixConn)
- if ok {
- break
- }
- }
- if uc == nil {
- fmt.Println("failed to find unix fd")
- return
- }
-
- // Make a file f to send to our parent process on uc.
- // We make it in tempDir, which our parent will clean up.
- flag.Parse()
- tempDir := flag.Arg(0)
- f, err := ioutil.TempFile(tempDir, "")
- if err != nil {
- fmt.Printf("TempFile: %v", err)
- return
- }
-
- f.Write([]byte("Hello from child process!\n"))
- f.Seek(0, 0)
-
- rights := unix.UnixRights(int(f.Fd()))
- dummyByte := []byte("x")
- n, oobn, err := uc.WriteMsgUnix(dummyByte, rights, nil)
- if err != nil {
- fmt.Printf("WriteMsgUnix: %v", err)
- return
- }
- if n != 1 || oobn != len(rights) {
- fmt.Printf("WriteMsgUnix = %d, %d; want 1, %d", n, oobn, len(rights))
- return
- }
-}
-
-// TestUnixRightsRoundtrip tests that UnixRights, ParseSocketControlMessage,
-// and ParseUnixRights are able to successfully round-trip lists of file descriptors.
-func TestUnixRightsRoundtrip(t *testing.T) {
- testCases := [...][][]int{
- {{42}},
- {{1, 2}},
- {{3, 4, 5}},
- {{}},
- {{1, 2}, {3, 4, 5}, {}, {7}},
- }
- for _, testCase := range testCases {
- b := []byte{}
- var n int
- for _, fds := range testCase {
- // Last assignment to n wins
- n = len(b) + unix.CmsgLen(4*len(fds))
- b = append(b, unix.UnixRights(fds...)...)
- }
- // Truncate b
- b = b[:n]
-
- scms, err := unix.ParseSocketControlMessage(b)
- if err != nil {
- t.Fatalf("ParseSocketControlMessage: %v", err)
- }
- if len(scms) != len(testCase) {
- t.Fatalf("expected %v SocketControlMessage; got scms = %#v", len(testCase), scms)
- }
- for i, scm := range scms {
- gotFds, err := unix.ParseUnixRights(&scm)
- if err != nil {
- t.Fatalf("ParseUnixRights: %v", err)
- }
- wantFds := testCase[i]
- if len(gotFds) != len(wantFds) {
- t.Fatalf("expected %v fds, got %#v", len(wantFds), gotFds)
- }
- for j, fd := range gotFds {
- if fd != wantFds[j] {
- t.Fatalf("expected fd %v, got %v", wantFds[j], fd)
- }
- }
- }
- }
-}
-
-func TestRlimit(t *testing.T) {
- var rlimit, zero unix.Rlimit
- err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlimit)
- if err != nil {
- t.Fatalf("Getrlimit: save failed: %v", err)
- }
- if zero == rlimit {
- t.Fatalf("Getrlimit: save failed: got zero value %#v", rlimit)
- }
- set := rlimit
- set.Cur = set.Max - 1
- if runtime.GOOS == "darwin" && set.Cur > 10240 {
- // The max file limit is 10240, even though
- // the max returned by Getrlimit is 1<<63-1.
- // This is OPEN_MAX in sys/syslimits.h.
- set.Cur = 10240
- }
- err = unix.Setrlimit(unix.RLIMIT_NOFILE, &set)
- if err != nil {
- t.Fatalf("Setrlimit: set failed: %#v %v", set, err)
- }
- var get unix.Rlimit
- err = unix.Getrlimit(unix.RLIMIT_NOFILE, &get)
- if err != nil {
- t.Fatalf("Getrlimit: get failed: %v", err)
- }
- set = rlimit
- set.Cur = set.Max - 1
- if set != get {
- // Seems like Darwin requires some privilege to
- // increase the soft limit of rlimit sandbox, though
- // Setrlimit never reports an error.
- switch runtime.GOOS {
- case "darwin":
- default:
- t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get)
- }
- }
- err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rlimit)
- if err != nil {
- t.Fatalf("Setrlimit: restore failed: %#v %v", rlimit, err)
- }
-}
-
-func TestSeekFailure(t *testing.T) {
- _, err := unix.Seek(-1, 0, 0)
- if err == nil {
- t.Fatalf("Seek(-1, 0, 0) did not fail")
- }
- str := err.Error() // used to crash on Linux
- t.Logf("Seek: %v", str)
- if str == "" {
- t.Fatalf("Seek(-1, 0, 0) return error with empty message")
- }
-}
-
-func TestDup(t *testing.T) {
- file, err := ioutil.TempFile("", "TestDup")
- if err != nil {
- t.Fatalf("Tempfile failed: %v", err)
- }
- defer os.Remove(file.Name())
- defer file.Close()
- f := int(file.Fd())
-
- newFd, err := unix.Dup(f)
- if err != nil {
- t.Fatalf("Dup: %v", err)
- }
-
- err = unix.Dup2(newFd, newFd+1)
- if err != nil {
- t.Fatalf("Dup2: %v", err)
- }
-
- b1 := []byte("Test123")
- b2 := make([]byte, 7)
- _, err = unix.Write(newFd+1, b1)
- if err != nil {
- t.Fatalf("Write to dup2 fd failed: %v", err)
- }
- _, err = unix.Seek(f, 0, 0)
- if err != nil {
- t.Fatalf("Seek failed: %v", err)
- }
- _, err = unix.Read(f, b2)
- if err != nil {
- t.Fatalf("Read back failed: %v", err)
- }
- if string(b1) != string(b2) {
- t.Errorf("Dup: stdout write not in file, expected %v, got %v", string(b1), string(b2))
- }
-}
-
-func TestPoll(t *testing.T) {
- if runtime.GOOS == "android" ||
- (runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64")) {
- t.Skip("mkfifo syscall is not available on android and iOS, skipping test")
- }
-
- f, cleanup := mktmpfifo(t)
- defer cleanup()
-
- const timeout = 100
-
- ok := make(chan bool, 1)
- go func() {
- select {
- case <-time.After(10 * timeout * time.Millisecond):
- t.Errorf("Poll: failed to timeout after %d milliseconds", 10*timeout)
- case <-ok:
- }
- }()
-
- fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}}
- n, err := unix.Poll(fds, timeout)
- ok <- true
- if err != nil {
- t.Errorf("Poll: unexpected error: %v", err)
- return
- }
- if n != 0 {
- t.Errorf("Poll: wrong number of events: got %v, expected %v", n, 0)
- return
- }
-}
-
-func TestGetwd(t *testing.T) {
- fd, err := os.Open(".")
- if err != nil {
- t.Fatalf("Open .: %s", err)
- }
- defer fd.Close()
- // Directory list for test. Do not worry if any are symlinks or do not
- // exist on some common unix desktop environments. That will be checked.
- dirs := []string{"/", "/usr/bin", "/etc", "/var", "/opt"}
- switch runtime.GOOS {
- case "android":
- dirs = []string{"/", "/system/bin"}
- case "darwin":
- switch runtime.GOARCH {
- case "arm", "arm64":
- d1, err := ioutil.TempDir("", "d1")
- if err != nil {
- t.Fatalf("TempDir: %v", err)
- }
- d2, err := ioutil.TempDir("", "d2")
- if err != nil {
- t.Fatalf("TempDir: %v", err)
- }
- dirs = []string{d1, d2}
- }
- }
- oldwd := os.Getenv("PWD")
- for _, d := range dirs {
- // Check whether d exists, is a dir and that d's path does not contain a symlink
- fi, err := os.Stat(d)
- if err != nil || !fi.IsDir() {
- t.Logf("Test dir %s stat error (%v) or not a directory, skipping", d, err)
- continue
- }
- check, err := filepath.EvalSymlinks(d)
- if err != nil || check != d {
- t.Logf("Test dir %s (%s) is symlink or other error (%v), skipping", d, check, err)
- continue
- }
- err = os.Chdir(d)
- if err != nil {
- t.Fatalf("Chdir: %v", err)
- }
- pwd, err := unix.Getwd()
- if err != nil {
- t.Fatalf("Getwd in %s: %s", d, err)
- }
- os.Setenv("PWD", oldwd)
- err = fd.Chdir()
- if err != nil {
- // We changed the current directory and cannot go back.
- // Don't let the tests continue; they'll scribble
- // all over some other directory.
- fmt.Fprintf(os.Stderr, "fchdir back to dot failed: %s\n", err)
- os.Exit(1)
- }
- if pwd != d {
- t.Fatalf("Getwd returned %q want %q", pwd, d)
- }
- }
-}
-
-func TestFstatat(t *testing.T) {
- defer chtmpdir(t)()
-
- touch(t, "file1")
-
- var st1 unix.Stat_t
- err := unix.Stat("file1", &st1)
- if err != nil {
- t.Fatalf("Stat: %v", err)
- }
-
- var st2 unix.Stat_t
- err = unix.Fstatat(unix.AT_FDCWD, "file1", &st2, 0)
- if err != nil {
- t.Fatalf("Fstatat: %v", err)
- }
-
- if st1 != st2 {
- t.Errorf("Fstatat: returned stat does not match Stat")
- }
-
- err = os.Symlink("file1", "symlink1")
- if err != nil {
- t.Fatal(err)
- }
-
- err = unix.Lstat("symlink1", &st1)
- if err != nil {
- t.Fatalf("Lstat: %v", err)
- }
-
- err = unix.Fstatat(unix.AT_FDCWD, "symlink1", &st2, unix.AT_SYMLINK_NOFOLLOW)
- if err != nil {
- t.Fatalf("Fstatat: %v", err)
- }
-
- if st1 != st2 {
- t.Errorf("Fstatat: returned stat does not match Lstat")
- }
-}
-
-func TestFchmodat(t *testing.T) {
- defer chtmpdir(t)()
-
- touch(t, "file1")
- err := os.Symlink("file1", "symlink1")
- if err != nil {
- t.Fatal(err)
- }
-
- mode := os.FileMode(0444)
- err = unix.Fchmodat(unix.AT_FDCWD, "symlink1", uint32(mode), 0)
- if err != nil {
- t.Fatalf("Fchmodat: unexpected error: %v", err)
- }
-
- fi, err := os.Stat("file1")
- if err != nil {
- t.Fatal(err)
- }
-
- if fi.Mode() != mode {
- t.Errorf("Fchmodat: failed to change file mode: expected %v, got %v", mode, fi.Mode())
- }
-
- mode = os.FileMode(0644)
- didChmodSymlink := true
- err = unix.Fchmodat(unix.AT_FDCWD, "symlink1", uint32(mode), unix.AT_SYMLINK_NOFOLLOW)
- if err != nil {
- if (runtime.GOOS == "android" || runtime.GOOS == "linux" || runtime.GOOS == "solaris") && err == unix.EOPNOTSUPP {
- // Linux and Illumos don't support flags != 0
- didChmodSymlink = false
- } else {
- t.Fatalf("Fchmodat: unexpected error: %v", err)
- }
- }
-
- if !didChmodSymlink {
- // Didn't change mode of the symlink. On Linux, the permissions
- // of a symbolic link are always 0777 according to symlink(7)
- mode = os.FileMode(0777)
- }
-
- var st unix.Stat_t
- err = unix.Lstat("symlink1", &st)
- if err != nil {
- t.Fatal(err)
- }
-
- got := os.FileMode(st.Mode & 0777)
- if got != mode {
- t.Errorf("Fchmodat: failed to change symlink mode: expected %v, got %v", mode, got)
- }
-}
-
-func TestMkdev(t *testing.T) {
- major := uint32(42)
- minor := uint32(7)
- dev := unix.Mkdev(major, minor)
-
- if unix.Major(dev) != major {
- t.Errorf("Major(%#x) == %d, want %d", dev, unix.Major(dev), major)
- }
- if unix.Minor(dev) != minor {
- t.Errorf("Minor(%#x) == %d, want %d", dev, unix.Minor(dev), minor)
- }
-}
-
-// mktmpfifo creates a temporary FIFO and provides a cleanup function.
-func mktmpfifo(t *testing.T) (*os.File, func()) {
- err := unix.Mkfifo("fifo", 0666)
- if err != nil {
- t.Fatalf("mktmpfifo: failed to create FIFO: %v", err)
- }
-
- f, err := os.OpenFile("fifo", os.O_RDWR, 0666)
- if err != nil {
- os.Remove("fifo")
- t.Fatalf("mktmpfifo: failed to open FIFO: %v", err)
- }
-
- return f, func() {
- f.Close()
- os.Remove("fifo")
- }
-}
-
-// utilities taken from os/os_test.go
-
-func touch(t *testing.T, name string) {
- f, err := os.Create(name)
- if err != nil {
- t.Fatal(err)
- }
- if err := f.Close(); err != nil {
- t.Fatal(err)
- }
-}
-
-// chtmpdir changes the working directory to a new temporary directory and
-// provides a cleanup function. Used when PWD is read-only.
-func chtmpdir(t *testing.T) func() {
- oldwd, err := os.Getwd()
- if err != nil {
- t.Fatalf("chtmpdir: %v", err)
- }
- d, err := ioutil.TempDir("", "test")
- if err != nil {
- t.Fatalf("chtmpdir: %v", err)
- }
- if err := os.Chdir(d); err != nil {
- t.Fatalf("chtmpdir: %v", err)
- }
- return func() {
- if err := os.Chdir(oldwd); err != nil {
- t.Fatalf("chtmpdir: %v", err)
- }
- os.RemoveAll(d)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/timestruct_test.go b/src/cmd/vendor/golang.org/x/sys/unix/timestruct_test.go
deleted file mode 100644
index 1a72fdb362..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/timestruct_test.go
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2017 The Go Authors. All right 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 netbsd openbsd solaris
-
-package unix_test
-
-import (
- "testing"
- "time"
- "unsafe"
-
- "golang.org/x/sys/unix"
-)
-
-func TestTimeToTimespec(t *testing.T) {
- timeTests := []struct {
- time time.Time
- valid bool
- }{
- {time.Unix(0, 0), true},
- {time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), true},
- {time.Date(2262, time.December, 31, 23, 0, 0, 0, time.UTC), false},
- {time.Unix(0x7FFFFFFF, 0), true},
- {time.Unix(0x80000000, 0), false},
- {time.Unix(0x7FFFFFFF, 1000000000), false},
- {time.Unix(0x7FFFFFFF, 999999999), true},
- {time.Unix(-0x80000000, 0), true},
- {time.Unix(-0x80000001, 0), false},
- {time.Date(2038, time.January, 19, 3, 14, 7, 0, time.UTC), true},
- {time.Date(2038, time.January, 19, 3, 14, 8, 0, time.UTC), false},
- {time.Date(1901, time.December, 13, 20, 45, 52, 0, time.UTC), true},
- {time.Date(1901, time.December, 13, 20, 45, 51, 0, time.UTC), false},
- }
-
- // Currently all targets have either int32 or int64 for Timespec.Sec.
- // If there were a new target with unsigned or floating point type for
- // it, this test must be adjusted.
- have64BitTime := (unsafe.Sizeof(unix.Timespec{}.Sec) == 8)
- for _, tt := range timeTests {
- ts, err := unix.TimeToTimespec(tt.time)
- tt.valid = tt.valid || have64BitTime
- if tt.valid && err != nil {
- t.Errorf("TimeToTimespec(%v): %v", tt.time, err)
- }
- if err == nil {
- tstime := time.Unix(int64(ts.Sec), int64(ts.Nsec))
- if !tstime.Equal(tt.time) {
- t.Errorf("TimeToTimespec(%v) is the time %v", tt.time, tstime)
- }
- }
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/unix/xattr_test.go b/src/cmd/vendor/golang.org/x/sys/unix/xattr_test.go
deleted file mode 100644
index 57fc84fb0f..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/unix/xattr_test.go
+++ /dev/null
@@ -1,207 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build darwin freebsd linux netbsd
-
-package unix_test
-
-import (
- "io/ioutil"
- "os"
- "runtime"
- "strings"
- "testing"
-
- "golang.org/x/sys/unix"
-)
-
-func TestXattr(t *testing.T) {
- defer chtmpdir(t)()
-
- f := "xattr1"
- touch(t, f)
-
- xattrName := "user.test"
- xattrDataSet := "gopher"
-
- err := unix.Setxattr(f, xattrName, []byte{}, 0)
- if err == unix.ENOTSUP || err == unix.EOPNOTSUPP {
- t.Skip("filesystem does not support extended attributes, skipping test")
- } else if err != nil {
- t.Fatalf("Setxattr: %v", err)
- }
-
- err = unix.Setxattr(f, xattrName, []byte(xattrDataSet), 0)
- if err != nil {
- t.Fatalf("Setxattr: %v", err)
- }
-
- // find size
- size, err := unix.Listxattr(f, nil)
- if err != nil {
- t.Fatalf("Listxattr: %v", err)
- }
-
- if size <= 0 {
- t.Fatalf("Listxattr returned an empty list of attributes")
- }
-
- buf := make([]byte, size)
- read, err := unix.Listxattr(f, buf)
- if err != nil {
- t.Fatalf("Listxattr: %v", err)
- }
-
- xattrs := stringsFromByteSlice(buf[:read])
-
- xattrWant := xattrName
- if runtime.GOOS == "freebsd" {
- // On FreeBSD, the namespace is stored separately from the xattr
- // name and Listxattr doesn't return the namespace prefix.
- xattrWant = strings.TrimPrefix(xattrWant, "user.")
- }
- found := false
- for _, name := range xattrs {
- if name == xattrWant {
- found = true
- }
- }
-
- if !found {
- t.Errorf("Listxattr did not return previously set attribute '%s'", xattrName)
- }
-
- // find size
- size, err = unix.Getxattr(f, xattrName, nil)
- if err != nil {
- t.Fatalf("Getxattr: %v", err)
- }
-
- if size <= 0 {
- t.Fatalf("Getxattr returned an empty attribute")
- }
-
- xattrDataGet := make([]byte, size)
- _, err = unix.Getxattr(f, xattrName, xattrDataGet)
- if err != nil {
- t.Fatalf("Getxattr: %v", err)
- }
-
- got := string(xattrDataGet)
- if got != xattrDataSet {
- t.Errorf("Getxattr: expected attribute value %s, got %s", xattrDataSet, got)
- }
-
- err = unix.Removexattr(f, xattrName)
- if err != nil {
- t.Fatalf("Removexattr: %v", err)
- }
-
- n := "nonexistent"
- err = unix.Lsetxattr(n, xattrName, []byte(xattrDataSet), 0)
- if err != unix.ENOENT {
- t.Errorf("Lsetxattr: expected %v on non-existent file, got %v", unix.ENOENT, err)
- }
-
- _, err = unix.Lgetxattr(n, xattrName, nil)
- if err != unix.ENOENT {
- t.Errorf("Lgetxattr: %v", err)
- }
-
- s := "symlink1"
- err = os.Symlink(n, s)
- if err != nil {
- t.Fatal(err)
- }
-
- err = unix.Lsetxattr(s, xattrName, []byte(xattrDataSet), 0)
- if err != nil {
- // Linux and Android doen't support xattrs on symlinks according
- // to xattr(7), so just test that we get the proper error.
- if (runtime.GOOS != "linux" && runtime.GOOS != "android") || err != unix.EPERM {
- t.Fatalf("Lsetxattr: %v", err)
- }
- }
-}
-
-func TestFdXattr(t *testing.T) {
- file, err := ioutil.TempFile("", "TestFdXattr")
- if err != nil {
- t.Fatal(err)
- }
- defer os.Remove(file.Name())
- defer file.Close()
-
- fd := int(file.Fd())
- xattrName := "user.test"
- xattrDataSet := "gopher"
-
- err = unix.Fsetxattr(fd, xattrName, []byte(xattrDataSet), 0)
- if err == unix.ENOTSUP || err == unix.EOPNOTSUPP {
- t.Skip("filesystem does not support extended attributes, skipping test")
- } else if err != nil {
- t.Fatalf("Fsetxattr: %v", err)
- }
-
- // find size
- size, err := unix.Flistxattr(fd, nil)
- if err != nil {
- t.Fatalf("Flistxattr: %v", err)
- }
-
- if size <= 0 {
- t.Fatalf("Flistxattr returned an empty list of attributes")
- }
-
- buf := make([]byte, size)
- read, err := unix.Flistxattr(fd, buf)
- if err != nil {
- t.Fatalf("Flistxattr: %v", err)
- }
-
- xattrs := stringsFromByteSlice(buf[:read])
-
- xattrWant := xattrName
- if runtime.GOOS == "freebsd" {
- // On FreeBSD, the namespace is stored separately from the xattr
- // name and Listxattr doesn't return the namespace prefix.
- xattrWant = strings.TrimPrefix(xattrWant, "user.")
- }
- found := false
- for _, name := range xattrs {
- if name == xattrWant {
- found = true
- }
- }
-
- if !found {
- t.Errorf("Flistxattr did not return previously set attribute '%s'", xattrName)
- }
-
- // find size
- size, err = unix.Fgetxattr(fd, xattrName, nil)
- if err != nil {
- t.Fatalf("Fgetxattr: %v", err)
- }
-
- if size <= 0 {
- t.Fatalf("Fgetxattr returned an empty attribute")
- }
-
- xattrDataGet := make([]byte, size)
- _, err = unix.Fgetxattr(fd, xattrName, xattrDataGet)
- if err != nil {
- t.Fatalf("Fgetxattr: %v", err)
- }
-
- got := string(xattrDataGet)
- if got != xattrDataSet {
- t.Errorf("Fgetxattr: expected attribute value %s, got %s", xattrDataSet, got)
- }
-
- err = unix.Fremovexattr(fd, xattrName)
- if err != nil {
- t.Fatalf("Fremovexattr: %v", err)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/registry/export_test.go b/src/cmd/vendor/golang.org/x/sys/windows/registry/export_test.go
deleted file mode 100644
index 8badf6fdcf..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/windows/registry/export_test.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// 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 windows
-
-package registry
-
-func (k Key) SetValue(name string, valtype uint32, data []byte) error {
- return k.setValue(name, valtype, data)
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/registry/registry_test.go b/src/cmd/vendor/golang.org/x/sys/windows/registry/registry_test.go
deleted file mode 100644
index 2f4dd69ef9..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/windows/registry/registry_test.go
+++ /dev/null
@@ -1,756 +0,0 @@
-// 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 windows
-
-package registry_test
-
-import (
- "bytes"
- "crypto/rand"
- "os"
- "syscall"
- "testing"
- "time"
- "unsafe"
-
- "golang.org/x/sys/windows/registry"
-)
-
-func randKeyName(prefix string) string {
- const numbers = "0123456789"
- buf := make([]byte, 10)
- rand.Read(buf)
- for i, b := range buf {
- buf[i] = numbers[b%byte(len(numbers))]
- }
- return prefix + string(buf)
-}
-
-func TestReadSubKeyNames(t *testing.T) {
- k, err := registry.OpenKey(registry.CLASSES_ROOT, "TypeLib", registry.ENUMERATE_SUB_KEYS)
- if err != nil {
- t.Fatal(err)
- }
- defer k.Close()
-
- names, err := k.ReadSubKeyNames(-1)
- if err != nil {
- t.Fatal(err)
- }
- var foundStdOle bool
- for _, name := range names {
- // Every PC has "stdole 2.0 OLE Automation" library installed.
- if name == "{00020430-0000-0000-C000-000000000046}" {
- foundStdOle = true
- }
- }
- if !foundStdOle {
- t.Fatal("could not find stdole 2.0 OLE Automation")
- }
-}
-
-func TestCreateOpenDeleteKey(t *testing.T) {
- k, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE)
- if err != nil {
- t.Fatal(err)
- }
- defer k.Close()
-
- testKName := randKeyName("TestCreateOpenDeleteKey_")
-
- testK, exist, err := registry.CreateKey(k, testKName, registry.CREATE_SUB_KEY)
- if err != nil {
- t.Fatal(err)
- }
- defer testK.Close()
-
- if exist {
- t.Fatalf("key %q already exists", testKName)
- }
-
- testKAgain, exist, err := registry.CreateKey(k, testKName, registry.CREATE_SUB_KEY)
- if err != nil {
- t.Fatal(err)
- }
- defer testKAgain.Close()
-
- if !exist {
- t.Fatalf("key %q should already exist", testKName)
- }
-
- testKOpened, err := registry.OpenKey(k, testKName, registry.ENUMERATE_SUB_KEYS)
- if err != nil {
- t.Fatal(err)
- }
- defer testKOpened.Close()
-
- err = registry.DeleteKey(k, testKName)
- if err != nil {
- t.Fatal(err)
- }
-
- testKOpenedAgain, err := registry.OpenKey(k, testKName, registry.ENUMERATE_SUB_KEYS)
- if err == nil {
- defer testKOpenedAgain.Close()
- t.Fatalf("key %q should already been deleted", testKName)
- }
- if err != registry.ErrNotExist {
- t.Fatalf(`unexpected error ("not exist" expected): %v`, err)
- }
-}
-
-func equalStringSlice(a, b []string) bool {
- if len(a) != len(b) {
- return false
- }
- if a == nil {
- return true
- }
- for i := range a {
- if a[i] != b[i] {
- return false
- }
- }
- return true
-}
-
-type ValueTest struct {
- Type uint32
- Name string
- Value interface{}
- WillFail bool
-}
-
-var ValueTests = []ValueTest{
- {Type: registry.SZ, Name: "String1", Value: ""},
- {Type: registry.SZ, Name: "String2", Value: "\000", WillFail: true},
- {Type: registry.SZ, Name: "String3", Value: "Hello World"},
- {Type: registry.SZ, Name: "String4", Value: "Hello World\000", WillFail: true},
- {Type: registry.EXPAND_SZ, Name: "ExpString1", Value: ""},
- {Type: registry.EXPAND_SZ, Name: "ExpString2", Value: "\000", WillFail: true},
- {Type: registry.EXPAND_SZ, Name: "ExpString3", Value: "Hello World"},
- {Type: registry.EXPAND_SZ, Name: "ExpString4", Value: "Hello\000World", WillFail: true},
- {Type: registry.EXPAND_SZ, Name: "ExpString5", Value: "%PATH%"},
- {Type: registry.EXPAND_SZ, Name: "ExpString6", Value: "%NO_SUCH_VARIABLE%"},
- {Type: registry.EXPAND_SZ, Name: "ExpString7", Value: "%PATH%;."},
- {Type: registry.BINARY, Name: "Binary1", Value: []byte{}},
- {Type: registry.BINARY, Name: "Binary2", Value: []byte{1, 2, 3}},
- {Type: registry.BINARY, Name: "Binary3", Value: []byte{3, 2, 1, 0, 1, 2, 3}},
- {Type: registry.DWORD, Name: "Dword1", Value: uint64(0)},
- {Type: registry.DWORD, Name: "Dword2", Value: uint64(1)},
- {Type: registry.DWORD, Name: "Dword3", Value: uint64(0xff)},
- {Type: registry.DWORD, Name: "Dword4", Value: uint64(0xffff)},
- {Type: registry.QWORD, Name: "Qword1", Value: uint64(0)},
- {Type: registry.QWORD, Name: "Qword2", Value: uint64(1)},
- {Type: registry.QWORD, Name: "Qword3", Value: uint64(0xff)},
- {Type: registry.QWORD, Name: "Qword4", Value: uint64(0xffff)},
- {Type: registry.QWORD, Name: "Qword5", Value: uint64(0xffffff)},
- {Type: registry.QWORD, Name: "Qword6", Value: uint64(0xffffffff)},
- {Type: registry.MULTI_SZ, Name: "MultiString1", Value: []string{"a", "b", "c"}},
- {Type: registry.MULTI_SZ, Name: "MultiString2", Value: []string{"abc", "", "cba"}},
- {Type: registry.MULTI_SZ, Name: "MultiString3", Value: []string{""}},
- {Type: registry.MULTI_SZ, Name: "MultiString4", Value: []string{"abcdef"}},
- {Type: registry.MULTI_SZ, Name: "MultiString5", Value: []string{"\000"}, WillFail: true},
- {Type: registry.MULTI_SZ, Name: "MultiString6", Value: []string{"a\000b"}, WillFail: true},
- {Type: registry.MULTI_SZ, Name: "MultiString7", Value: []string{"ab", "\000", "cd"}, WillFail: true},
- {Type: registry.MULTI_SZ, Name: "MultiString8", Value: []string{"\000", "cd"}, WillFail: true},
- {Type: registry.MULTI_SZ, Name: "MultiString9", Value: []string{"ab", "\000"}, WillFail: true},
-}
-
-func setValues(t *testing.T, k registry.Key) {
- for _, test := range ValueTests {
- var err error
- switch test.Type {
- case registry.SZ:
- err = k.SetStringValue(test.Name, test.Value.(string))
- case registry.EXPAND_SZ:
- err = k.SetExpandStringValue(test.Name, test.Value.(string))
- case registry.MULTI_SZ:
- err = k.SetStringsValue(test.Name, test.Value.([]string))
- case registry.BINARY:
- err = k.SetBinaryValue(test.Name, test.Value.([]byte))
- case registry.DWORD:
- err = k.SetDWordValue(test.Name, uint32(test.Value.(uint64)))
- case registry.QWORD:
- err = k.SetQWordValue(test.Name, test.Value.(uint64))
- default:
- t.Fatalf("unsupported type %d for %s value", test.Type, test.Name)
- }
- if test.WillFail {
- if err == nil {
- t.Fatalf("setting %s value %q should fail, but succeeded", test.Name, test.Value)
- }
- } else {
- if err != nil {
- t.Fatal(err)
- }
- }
- }
-}
-
-func enumerateValues(t *testing.T, k registry.Key) {
- names, err := k.ReadValueNames(-1)
- if err != nil {
- t.Error(err)
- return
- }
- haveNames := make(map[string]bool)
- for _, n := range names {
- haveNames[n] = false
- }
- for _, test := range ValueTests {
- wantFound := !test.WillFail
- _, haveFound := haveNames[test.Name]
- if wantFound && !haveFound {
- t.Errorf("value %s is not found while enumerating", test.Name)
- }
- if haveFound && !wantFound {
- t.Errorf("value %s is found while enumerating, but expected to fail", test.Name)
- }
- if haveFound {
- delete(haveNames, test.Name)
- }
- }
- for n, v := range haveNames {
- t.Errorf("value %s (%v) is found while enumerating, but has not been cretaed", n, v)
- }
-}
-
-func testErrNotExist(t *testing.T, name string, err error) {
- if err == nil {
- t.Errorf("%s value should not exist", name)
- return
- }
- if err != registry.ErrNotExist {
- t.Errorf("reading %s value should return 'not exist' error, but got: %s", name, err)
- return
- }
-}
-
-func testErrUnexpectedType(t *testing.T, test ValueTest, gottype uint32, err error) {
- if err == nil {
- t.Errorf("GetXValue(%q) should not succeed", test.Name)
- return
- }
- if err != registry.ErrUnexpectedType {
- t.Errorf("reading %s value should return 'unexpected key value type' error, but got: %s", test.Name, err)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
-}
-
-func testGetStringValue(t *testing.T, k registry.Key, test ValueTest) {
- got, gottype, err := k.GetStringValue(test.Name)
- if err != nil {
- t.Errorf("GetStringValue(%s) failed: %v", test.Name, err)
- return
- }
- if got != test.Value {
- t.Errorf("want %s value %q, got %q", test.Name, test.Value, got)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
- if gottype == registry.EXPAND_SZ {
- _, err = registry.ExpandString(got)
- if err != nil {
- t.Errorf("ExpandString(%s) failed: %v", got, err)
- return
- }
- }
-}
-
-func testGetIntegerValue(t *testing.T, k registry.Key, test ValueTest) {
- got, gottype, err := k.GetIntegerValue(test.Name)
- if err != nil {
- t.Errorf("GetIntegerValue(%s) failed: %v", test.Name, err)
- return
- }
- if got != test.Value.(uint64) {
- t.Errorf("want %s value %v, got %v", test.Name, test.Value, got)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
-}
-
-func testGetBinaryValue(t *testing.T, k registry.Key, test ValueTest) {
- got, gottype, err := k.GetBinaryValue(test.Name)
- if err != nil {
- t.Errorf("GetBinaryValue(%s) failed: %v", test.Name, err)
- return
- }
- if !bytes.Equal(got, test.Value.([]byte)) {
- t.Errorf("want %s value %v, got %v", test.Name, test.Value, got)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
-}
-
-func testGetStringsValue(t *testing.T, k registry.Key, test ValueTest) {
- got, gottype, err := k.GetStringsValue(test.Name)
- if err != nil {
- t.Errorf("GetStringsValue(%s) failed: %v", test.Name, err)
- return
- }
- if !equalStringSlice(got, test.Value.([]string)) {
- t.Errorf("want %s value %#v, got %#v", test.Name, test.Value, got)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
-}
-
-func testGetValue(t *testing.T, k registry.Key, test ValueTest, size int) {
- if size <= 0 {
- return
- }
- // read data with no buffer
- gotsize, gottype, err := k.GetValue(test.Name, nil)
- if err != nil {
- t.Errorf("GetValue(%s, [%d]byte) failed: %v", test.Name, size, err)
- return
- }
- if gotsize != size {
- t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
- // read data with short buffer
- gotsize, gottype, err = k.GetValue(test.Name, make([]byte, size-1))
- if err == nil {
- t.Errorf("GetValue(%s, [%d]byte) should fail, but succeeded", test.Name, size-1)
- return
- }
- if err != registry.ErrShortBuffer {
- t.Errorf("reading %s value should return 'short buffer' error, but got: %s", test.Name, err)
- return
- }
- if gotsize != size {
- t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
- // read full data
- gotsize, gottype, err = k.GetValue(test.Name, make([]byte, size))
- if err != nil {
- t.Errorf("GetValue(%s, [%d]byte) failed: %v", test.Name, size, err)
- return
- }
- if gotsize != size {
- t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize)
- return
- }
- if gottype != test.Type {
- t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
- return
- }
- // check GetValue returns ErrNotExist as required
- _, _, err = k.GetValue(test.Name+"_not_there", make([]byte, size))
- if err == nil {
- t.Errorf("GetValue(%q) should not succeed", test.Name)
- return
- }
- if err != registry.ErrNotExist {
- t.Errorf("GetValue(%q) should return 'not exist' error, but got: %s", test.Name, err)
- return
- }
-}
-
-func testValues(t *testing.T, k registry.Key) {
- for _, test := range ValueTests {
- switch test.Type {
- case registry.SZ, registry.EXPAND_SZ:
- if test.WillFail {
- _, _, err := k.GetStringValue(test.Name)
- testErrNotExist(t, test.Name, err)
- } else {
- testGetStringValue(t, k, test)
- _, gottype, err := k.GetIntegerValue(test.Name)
- testErrUnexpectedType(t, test, gottype, err)
- // Size of utf16 string in bytes is not perfect,
- // but correct for current test values.
- // Size also includes terminating 0.
- testGetValue(t, k, test, (len(test.Value.(string))+1)*2)
- }
- _, _, err := k.GetStringValue(test.Name + "_string_not_created")
- testErrNotExist(t, test.Name+"_string_not_created", err)
- case registry.DWORD, registry.QWORD:
- testGetIntegerValue(t, k, test)
- _, gottype, err := k.GetBinaryValue(test.Name)
- testErrUnexpectedType(t, test, gottype, err)
- _, _, err = k.GetIntegerValue(test.Name + "_int_not_created")
- testErrNotExist(t, test.Name+"_int_not_created", err)
- size := 8
- if test.Type == registry.DWORD {
- size = 4
- }
- testGetValue(t, k, test, size)
- case registry.BINARY:
- testGetBinaryValue(t, k, test)
- _, gottype, err := k.GetStringsValue(test.Name)
- testErrUnexpectedType(t, test, gottype, err)
- _, _, err = k.GetBinaryValue(test.Name + "_byte_not_created")
- testErrNotExist(t, test.Name+"_byte_not_created", err)
- testGetValue(t, k, test, len(test.Value.([]byte)))
- case registry.MULTI_SZ:
- if test.WillFail {
- _, _, err := k.GetStringsValue(test.Name)
- testErrNotExist(t, test.Name, err)
- } else {
- testGetStringsValue(t, k, test)
- _, gottype, err := k.GetStringValue(test.Name)
- testErrUnexpectedType(t, test, gottype, err)
- size := 0
- for _, s := range test.Value.([]string) {
- size += len(s) + 1 // nil terminated
- }
- size += 1 // extra nil at the end
- size *= 2 // count bytes, not uint16
- testGetValue(t, k, test, size)
- }
- _, _, err := k.GetStringsValue(test.Name + "_strings_not_created")
- testErrNotExist(t, test.Name+"_strings_not_created", err)
- default:
- t.Errorf("unsupported type %d for %s value", test.Type, test.Name)
- continue
- }
- }
-}
-
-func testStat(t *testing.T, k registry.Key) {
- subk, _, err := registry.CreateKey(k, "subkey", registry.CREATE_SUB_KEY)
- if err != nil {
- t.Error(err)
- return
- }
- defer subk.Close()
-
- defer registry.DeleteKey(k, "subkey")
-
- ki, err := k.Stat()
- if err != nil {
- t.Error(err)
- return
- }
- if ki.SubKeyCount != 1 {
- t.Error("key must have 1 subkey")
- }
- if ki.MaxSubKeyLen != 6 {
- t.Error("key max subkey name length must be 6")
- }
- if ki.ValueCount != 24 {
- t.Errorf("key must have 24 values, but is %d", ki.ValueCount)
- }
- if ki.MaxValueNameLen != 12 {
- t.Errorf("key max value name length must be 10, but is %d", ki.MaxValueNameLen)
- }
- if ki.MaxValueLen != 38 {
- t.Errorf("key max value length must be 38, but is %d", ki.MaxValueLen)
- }
- if mt, ct := ki.ModTime(), time.Now(); ct.Sub(mt) > 100*time.Millisecond {
- t.Errorf("key mod time is not close to current time: mtime=%v current=%v delta=%v", mt, ct, ct.Sub(mt))
- }
-}
-
-func deleteValues(t *testing.T, k registry.Key) {
- for _, test := range ValueTests {
- if test.WillFail {
- continue
- }
- err := k.DeleteValue(test.Name)
- if err != nil {
- t.Error(err)
- continue
- }
- }
- names, err := k.ReadValueNames(-1)
- if err != nil {
- t.Error(err)
- return
- }
- if len(names) != 0 {
- t.Errorf("some values remain after deletion: %v", names)
- }
-}
-
-func TestValues(t *testing.T) {
- softwareK, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE)
- if err != nil {
- t.Fatal(err)
- }
- defer softwareK.Close()
-
- testKName := randKeyName("TestValues_")
-
- k, exist, err := registry.CreateKey(softwareK, testKName, registry.CREATE_SUB_KEY|registry.QUERY_VALUE|registry.SET_VALUE)
- if err != nil {
- t.Fatal(err)
- }
- defer k.Close()
-
- if exist {
- t.Fatalf("key %q already exists", testKName)
- }
-
- defer registry.DeleteKey(softwareK, testKName)
-
- setValues(t, k)
-
- enumerateValues(t, k)
-
- testValues(t, k)
-
- testStat(t, k)
-
- deleteValues(t, k)
-}
-
-func walkKey(t *testing.T, k registry.Key, kname string) {
- names, err := k.ReadValueNames(-1)
- if err != nil {
- t.Fatalf("reading value names of %s failed: %v", kname, err)
- }
- for _, name := range names {
- _, valtype, err := k.GetValue(name, nil)
- if err != nil {
- t.Fatalf("reading value type of %s of %s failed: %v", name, kname, err)
- }
- switch valtype {
- case registry.NONE:
- case registry.SZ:
- _, _, err := k.GetStringValue(name)
- if err != nil {
- t.Error(err)
- }
- case registry.EXPAND_SZ:
- s, _, err := k.GetStringValue(name)
- if err != nil {
- t.Error(err)
- }
- _, err = registry.ExpandString(s)
- if err != nil {
- t.Error(err)
- }
- case registry.DWORD, registry.QWORD:
- _, _, err := k.GetIntegerValue(name)
- if err != nil {
- t.Error(err)
- }
- case registry.BINARY:
- _, _, err := k.GetBinaryValue(name)
- if err != nil {
- t.Error(err)
- }
- case registry.MULTI_SZ:
- _, _, err := k.GetStringsValue(name)
- if err != nil {
- t.Error(err)
- }
- case registry.FULL_RESOURCE_DESCRIPTOR, registry.RESOURCE_LIST, registry.RESOURCE_REQUIREMENTS_LIST:
- // TODO: not implemented
- default:
- t.Fatalf("value type %d of %s of %s failed: %v", valtype, name, kname, err)
- }
- }
-
- names, err = k.ReadSubKeyNames(-1)
- if err != nil {
- t.Fatalf("reading sub-keys of %s failed: %v", kname, err)
- }
- for _, name := range names {
- func() {
- subk, err := registry.OpenKey(k, name, registry.ENUMERATE_SUB_KEYS|registry.QUERY_VALUE)
- if err != nil {
- if err == syscall.ERROR_ACCESS_DENIED {
- // ignore error, if we are not allowed to access this key
- return
- }
- t.Fatalf("opening sub-keys %s of %s failed: %v", name, kname, err)
- }
- defer subk.Close()
-
- walkKey(t, subk, kname+`\`+name)
- }()
- }
-}
-
-func TestWalkFullRegistry(t *testing.T) {
- if testing.Short() {
- t.Skip("skipping long running test in short mode")
- }
- walkKey(t, registry.CLASSES_ROOT, "CLASSES_ROOT")
- walkKey(t, registry.CURRENT_USER, "CURRENT_USER")
- walkKey(t, registry.LOCAL_MACHINE, "LOCAL_MACHINE")
- walkKey(t, registry.USERS, "USERS")
- walkKey(t, registry.CURRENT_CONFIG, "CURRENT_CONFIG")
-}
-
-func TestExpandString(t *testing.T) {
- got, err := registry.ExpandString("%PATH%")
- if err != nil {
- t.Fatal(err)
- }
- want := os.Getenv("PATH")
- if got != want {
- t.Errorf("want %q string expanded, got %q", want, got)
- }
-}
-
-func TestInvalidValues(t *testing.T) {
- softwareK, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE)
- if err != nil {
- t.Fatal(err)
- }
- defer softwareK.Close()
-
- testKName := randKeyName("TestInvalidValues_")
-
- k, exist, err := registry.CreateKey(softwareK, testKName, registry.CREATE_SUB_KEY|registry.QUERY_VALUE|registry.SET_VALUE)
- if err != nil {
- t.Fatal(err)
- }
- defer k.Close()
-
- if exist {
- t.Fatalf("key %q already exists", testKName)
- }
-
- defer registry.DeleteKey(softwareK, testKName)
-
- var tests = []struct {
- Type uint32
- Name string
- Data []byte
- }{
- {registry.DWORD, "Dword1", nil},
- {registry.DWORD, "Dword2", []byte{1, 2, 3}},
- {registry.QWORD, "Qword1", nil},
- {registry.QWORD, "Qword2", []byte{1, 2, 3}},
- {registry.QWORD, "Qword3", []byte{1, 2, 3, 4, 5, 6, 7}},
- {registry.MULTI_SZ, "MultiString1", nil},
- {registry.MULTI_SZ, "MultiString2", []byte{0}},
- {registry.MULTI_SZ, "MultiString3", []byte{'a', 'b', 0}},
- {registry.MULTI_SZ, "MultiString4", []byte{'a', 0, 0, 'b', 0}},
- {registry.MULTI_SZ, "MultiString5", []byte{'a', 0, 0}},
- }
-
- for _, test := range tests {
- err := k.SetValue(test.Name, test.Type, test.Data)
- if err != nil {
- t.Fatalf("SetValue for %q failed: %v", test.Name, err)
- }
- }
-
- for _, test := range tests {
- switch test.Type {
- case registry.DWORD, registry.QWORD:
- value, valType, err := k.GetIntegerValue(test.Name)
- if err == nil {
- t.Errorf("GetIntegerValue(%q) succeeded. Returns type=%d value=%v", test.Name, valType, value)
- }
- case registry.MULTI_SZ:
- value, valType, err := k.GetStringsValue(test.Name)
- if err == nil {
- if len(value) != 0 {
- t.Errorf("GetStringsValue(%q) succeeded. Returns type=%d value=%v", test.Name, valType, value)
- }
- }
- default:
- t.Errorf("unsupported type %d for %s value", test.Type, test.Name)
- }
- }
-}
-
-func TestGetMUIStringValue(t *testing.T) {
- if err := registry.LoadRegLoadMUIString(); err != nil {
- t.Skip("regLoadMUIString not supported; skipping")
- }
- if err := procGetDynamicTimeZoneInformation.Find(); err != nil {
- t.Skipf("%s not supported; skipping", procGetDynamicTimeZoneInformation.Name)
- }
- var dtzi DynamicTimezoneinformation
- if _, err := GetDynamicTimeZoneInformation(&dtzi); err != nil {
- t.Fatal(err)
- }
- tzKeyName := syscall.UTF16ToString(dtzi.TimeZoneKeyName[:])
- timezoneK, err := registry.OpenKey(registry.LOCAL_MACHINE,
- `SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\`+tzKeyName, registry.READ)
- if err != nil {
- t.Fatal(err)
- }
- defer timezoneK.Close()
-
- type testType struct {
- name string
- want string
- }
- var tests = []testType{
- {"MUI_Std", syscall.UTF16ToString(dtzi.StandardName[:])},
- }
- if dtzi.DynamicDaylightTimeDisabled == 0 {
- tests = append(tests, testType{"MUI_Dlt", syscall.UTF16ToString(dtzi.DaylightName[:])})
- }
-
- for _, test := range tests {
- got, err := timezoneK.GetMUIStringValue(test.name)
- if err != nil {
- t.Error("GetMUIStringValue:", err)
- }
-
- if got != test.want {
- t.Errorf("GetMUIStringValue: %s: Got %q, want %q", test.name, got, test.want)
- }
- }
-}
-
-type DynamicTimezoneinformation struct {
- Bias int32
- StandardName [32]uint16
- StandardDate syscall.Systemtime
- StandardBias int32
- DaylightName [32]uint16
- DaylightDate syscall.Systemtime
- DaylightBias int32
- TimeZoneKeyName [128]uint16
- DynamicDaylightTimeDisabled uint8
-}
-
-var (
- kernel32DLL = syscall.NewLazyDLL("kernel32")
-
- procGetDynamicTimeZoneInformation = kernel32DLL.NewProc("GetDynamicTimeZoneInformation")
-)
-
-func GetDynamicTimeZoneInformation(dtzi *DynamicTimezoneinformation) (rc uint32, err error) {
- r0, _, e1 := syscall.Syscall(procGetDynamicTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(dtzi)), 0, 0)
- rc = uint32(r0)
- if rc == 0xffffffff {
- if e1 != 0 {
- err = error(e1)
- } else {
- err = syscall.EINVAL
- }
- }
- return
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go b/src/cmd/vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go
deleted file mode 100644
index 6fbbd4a876..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go
+++ /dev/null
@@ -1,51 +0,0 @@
-// 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 windows
-
-package eventlog_test
-
-import (
- "testing"
-
- "golang.org/x/sys/windows/svc/eventlog"
-)
-
-func TestLog(t *testing.T) {
- if testing.Short() {
- t.Skip("skipping test in short mode - it modifies system logs")
- }
-
- const name = "mylog"
- const supports = eventlog.Error | eventlog.Warning | eventlog.Info
- err := eventlog.InstallAsEventCreate(name, supports)
- if err != nil {
- t.Fatalf("Install failed: %s", err)
- }
- defer func() {
- err = eventlog.Remove(name)
- if err != nil {
- t.Fatalf("Remove failed: %s", err)
- }
- }()
-
- l, err := eventlog.Open(name)
- if err != nil {
- t.Fatalf("Open failed: %s", err)
- }
- defer l.Close()
-
- err = l.Info(1, "info")
- if err != nil {
- t.Fatalf("Info failed: %s", err)
- }
- err = l.Warning(2, "warning")
- if err != nil {
- t.Fatalf("Warning failed: %s", err)
- }
- err = l.Error(3, "error")
- if err != nil {
- t.Fatalf("Error failed: %s", err)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go b/src/cmd/vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go
deleted file mode 100644
index 9171f5bcf1..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go
+++ /dev/null
@@ -1,282 +0,0 @@
-// 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 windows
-
-package mgr_test
-
-import (
- "os"
- "path/filepath"
- "sort"
- "strings"
- "syscall"
- "testing"
- "time"
-
- "golang.org/x/sys/windows/svc/mgr"
-)
-
-func TestOpenLanManServer(t *testing.T) {
- m, err := mgr.Connect()
- if err != nil {
- if errno, ok := err.(syscall.Errno); ok && errno == syscall.ERROR_ACCESS_DENIED {
- t.Skip("Skipping test: we don't have rights to manage services.")
- }
- t.Fatalf("SCM connection failed: %s", err)
- }
- defer m.Disconnect()
-
- s, err := m.OpenService("LanmanServer")
- if err != nil {
- t.Fatalf("OpenService(lanmanserver) failed: %s", err)
- }
- defer s.Close()
-
- _, err = s.Config()
- if err != nil {
- t.Fatalf("Config failed: %s", err)
- }
-}
-
-func install(t *testing.T, m *mgr.Mgr, name, exepath string, c mgr.Config) {
- // Sometimes it takes a while for the service to get
- // removed after previous test run.
- for i := 0; ; i++ {
- s, err := m.OpenService(name)
- if err != nil {
- break
- }
- s.Close()
-
- if i > 10 {
- t.Fatalf("service %s already exists", name)
- }
- time.Sleep(300 * time.Millisecond)
- }
-
- s, err := m.CreateService(name, exepath, c)
- if err != nil {
- t.Fatalf("CreateService(%s) failed: %v", name, err)
- }
- defer s.Close()
-}
-
-func depString(d []string) string {
- if len(d) == 0 {
- return ""
- }
- for i := range d {
- d[i] = strings.ToLower(d[i])
- }
- ss := sort.StringSlice(d)
- ss.Sort()
- return strings.Join([]string(ss), " ")
-}
-
-func testConfig(t *testing.T, s *mgr.Service, should mgr.Config) mgr.Config {
- is, err := s.Config()
- if err != nil {
- t.Fatalf("Config failed: %s", err)
- }
- if should.DisplayName != is.DisplayName {
- t.Fatalf("config mismatch: DisplayName is %q, but should have %q", is.DisplayName, should.DisplayName)
- }
- if should.StartType != is.StartType {
- t.Fatalf("config mismatch: StartType is %v, but should have %v", is.StartType, should.StartType)
- }
- if should.Description != is.Description {
- t.Fatalf("config mismatch: Description is %q, but should have %q", is.Description, should.Description)
- }
- if depString(should.Dependencies) != depString(is.Dependencies) {
- t.Fatalf("config mismatch: Dependencies is %v, but should have %v", is.Dependencies, should.Dependencies)
- }
- return is
-}
-
-func testRecoveryActions(t *testing.T, s *mgr.Service, should []mgr.RecoveryAction) {
- is, err := s.RecoveryActions()
- if err != nil {
- t.Fatalf("RecoveryActions failed: %s", err)
- }
- if len(should) != len(is) {
- t.Errorf("recovery action mismatch: contains %v actions, but should have %v", len(is), len(should))
- }
- for i, _ := range is {
- if should[i].Type != is[i].Type {
- t.Errorf("recovery action mismatch: Type is %v, but should have %v", is[i].Type, should[i].Type)
- }
- if should[i].Delay != is[i].Delay {
- t.Errorf("recovery action mismatch: Delay is %v, but should have %v", is[i].Delay, should[i].Delay)
- }
- }
-}
-
-func testResetPeriod(t *testing.T, s *mgr.Service, should uint32) {
- is, err := s.ResetPeriod()
- if err != nil {
- t.Fatalf("ResetPeriod failed: %s", err)
- }
- if should != is {
- t.Errorf("reset period mismatch: reset period is %v, but should have %v", is, should)
- }
-}
-
-func testSetRecoveryActions(t *testing.T, s *mgr.Service) {
- r := []mgr.RecoveryAction{
- mgr.RecoveryAction{
- Type: mgr.NoAction,
- Delay: 60000 * time.Millisecond,
- },
- mgr.RecoveryAction{
- Type: mgr.ServiceRestart,
- Delay: 4 * time.Minute,
- },
- mgr.RecoveryAction{
- Type: mgr.ServiceRestart,
- Delay: time.Minute,
- },
- mgr.RecoveryAction{
- Type: mgr.RunCommand,
- Delay: 4000 * time.Millisecond,
- },
- }
-
- // 4 recovery actions with reset period
- err := s.SetRecoveryActions(r, uint32(10000))
- if err != nil {
- t.Fatalf("SetRecoveryActions failed: %v", err)
- }
- testRecoveryActions(t, s, r)
- testResetPeriod(t, s, uint32(10000))
-
- // Infinite reset period
- err = s.SetRecoveryActions(r, syscall.INFINITE)
- if err != nil {
- t.Fatalf("SetRecoveryActions failed: %v", err)
- }
- testRecoveryActions(t, s, r)
- testResetPeriod(t, s, syscall.INFINITE)
-
- // nil recovery actions
- err = s.SetRecoveryActions(nil, 0)
- if err.Error() != "recoveryActions cannot be nil" {
- t.Fatalf("SetRecoveryActions failed with unexpected error message of %q", err)
- }
-
- // Delete all recovery actions and reset period
- err = s.ResetRecoveryActions()
- if err != nil {
- t.Fatalf("ResetRecoveryActions failed: %v", err)
- }
- testRecoveryActions(t, s, nil)
- testResetPeriod(t, s, 0)
-}
-
-func testRebootMessage(t *testing.T, s *mgr.Service, should string) {
- err := s.SetRebootMessage(should)
- if err != nil {
- t.Fatalf("SetRebootMessage failed: %v", err)
- }
- is, err := s.RebootMessage()
- if err != nil {
- t.Fatalf("RebootMessage failed: %v", err)
- }
- if should != is {
- t.Errorf("reboot message mismatch: message is %q, but should have %q", is, should)
- }
-}
-
-func testRecoveryCommand(t *testing.T, s *mgr.Service, should string) {
- err := s.SetRecoveryCommand(should)
- if err != nil {
- t.Fatalf("SetRecoveryCommand failed: %v", err)
- }
- is, err := s.RecoveryCommand()
- if err != nil {
- t.Fatalf("RecoveryCommand failed: %v", err)
- }
- if should != is {
- t.Errorf("recovery command mismatch: command is %q, but should have %q", is, should)
- }
-}
-
-func remove(t *testing.T, s *mgr.Service) {
- err := s.Delete()
- if err != nil {
- t.Fatalf("Delete failed: %s", err)
- }
-}
-
-func TestMyService(t *testing.T) {
- if testing.Short() {
- t.Skip("skipping test in short mode - it modifies system services")
- }
-
- const name = "myservice"
-
- m, err := mgr.Connect()
- if err != nil {
- if errno, ok := err.(syscall.Errno); ok && errno == syscall.ERROR_ACCESS_DENIED {
- t.Skip("Skipping test: we don't have rights to manage services.")
- }
- t.Fatalf("SCM connection failed: %s", err)
- }
- defer m.Disconnect()
-
- c := mgr.Config{
- StartType: mgr.StartDisabled,
- DisplayName: "my service",
- Description: "my service is just a test",
- Dependencies: []string{"LanmanServer", "W32Time"},
- }
-
- exename := os.Args[0]
- exepath, err := filepath.Abs(exename)
- if err != nil {
- t.Fatalf("filepath.Abs(%s) failed: %s", exename, err)
- }
-
- install(t, m, name, exepath, c)
-
- s, err := m.OpenService(name)
- if err != nil {
- t.Fatalf("service %s is not installed", name)
- }
- defer s.Close()
-
- c.BinaryPathName = exepath
- c = testConfig(t, s, c)
-
- c.StartType = mgr.StartManual
- err = s.UpdateConfig(c)
- if err != nil {
- t.Fatalf("UpdateConfig failed: %v", err)
- }
-
- testConfig(t, s, c)
-
- svcnames, err := m.ListServices()
- if err != nil {
- t.Fatalf("ListServices failed: %v", err)
- }
- var myserviceIsInstalled bool
- for _, sn := range svcnames {
- if sn == name {
- myserviceIsInstalled = true
- break
- }
- }
- if !myserviceIsInstalled {
- t.Errorf("ListServices failed to find %q service", name)
- }
-
- testSetRecoveryActions(t, s)
- testRebootMessage(t, s, "myservice failed")
- testRebootMessage(t, s, "") // delete reboot message
- testRecoveryCommand(t, s, "sc query myservice")
- testRecoveryCommand(t, s, "") // delete recovery command
-
- remove(t, s)
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/svc/svc_test.go b/src/cmd/vendor/golang.org/x/sys/windows/svc/svc_test.go
deleted file mode 100644
index feed8fabde..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/windows/svc/svc_test.go
+++ /dev/null
@@ -1,131 +0,0 @@
-// 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 windows
-
-package svc_test
-
-import (
- "fmt"
- "io/ioutil"
- "math/rand"
- "os"
- "os/exec"
- "path/filepath"
- "strings"
- "testing"
- "time"
-
- "golang.org/x/sys/windows/svc"
- "golang.org/x/sys/windows/svc/mgr"
-)
-
-func getState(t *testing.T, s *mgr.Service) svc.State {
- status, err := s.Query()
- if err != nil {
- t.Fatalf("Query(%s) failed: %s", s.Name, err)
- }
- return status.State
-}
-
-func testState(t *testing.T, s *mgr.Service, want svc.State) {
- have := getState(t, s)
- if have != want {
- t.Fatalf("%s state is=%d want=%d", s.Name, have, want)
- }
-}
-
-func waitState(t *testing.T, s *mgr.Service, want svc.State) {
- for i := 0; ; i++ {
- have := getState(t, s)
- if have == want {
- return
- }
- if i > 10 {
- t.Fatalf("%s state is=%d, waiting timeout", s.Name, have)
- }
- time.Sleep(300 * time.Millisecond)
- }
-}
-
-func TestExample(t *testing.T) {
- if testing.Short() {
- t.Skip("skipping test in short mode - it modifies system services")
- }
-
- const name = "myservice"
-
- m, err := mgr.Connect()
- if err != nil {
- t.Fatalf("SCM connection failed: %s", err)
- }
- defer m.Disconnect()
-
- dir, err := ioutil.TempDir("", "svc")
- if err != nil {
- t.Fatalf("failed to create temp directory: %v", err)
- }
- defer os.RemoveAll(dir)
-
- exepath := filepath.Join(dir, "a.exe")
- o, err := exec.Command("go", "build", "-o", exepath, "golang.org/x/sys/windows/svc/example").CombinedOutput()
- if err != nil {
- t.Fatalf("failed to build service program: %v\n%v", err, string(o))
- }
-
- s, err := m.OpenService(name)
- if err == nil {
- err = s.Delete()
- if err != nil {
- s.Close()
- t.Fatalf("Delete failed: %s", err)
- }
- s.Close()
- }
- s, err = m.CreateService(name, exepath, mgr.Config{DisplayName: "my service"}, "is", "auto-started")
- if err != nil {
- t.Fatalf("CreateService(%s) failed: %v", name, err)
- }
- defer s.Close()
-
- args := []string{"is", "manual-started", fmt.Sprintf("%d", rand.Int())}
-
- testState(t, s, svc.Stopped)
- err = s.Start(args...)
- if err != nil {
- t.Fatalf("Start(%s) failed: %s", s.Name, err)
- }
- waitState(t, s, svc.Running)
- time.Sleep(1 * time.Second)
-
- // testing deadlock from issues 4.
- _, err = s.Control(svc.Interrogate)
- if err != nil {
- t.Fatalf("Control(%s) failed: %s", s.Name, err)
- }
- _, err = s.Control(svc.Interrogate)
- if err != nil {
- t.Fatalf("Control(%s) failed: %s", s.Name, err)
- }
- time.Sleep(1 * time.Second)
-
- _, err = s.Control(svc.Stop)
- if err != nil {
- t.Fatalf("Control(%s) failed: %s", s.Name, err)
- }
- waitState(t, s, svc.Stopped)
-
- err = s.Delete()
- if err != nil {
- t.Fatalf("Delete failed: %s", err)
- }
-
- out, err := exec.Command("wevtutil.exe", "qe", "Application", "/q:*[System[Provider[@Name='myservice']]]", "/rd:true", "/c:10").CombinedOutput()
- if err != nil {
- t.Fatalf("wevtutil failed: %v\n%v", err, string(out))
- }
- if want := strings.Join(append([]string{name}, args...), "-"); !strings.Contains(string(out), want) {
- t.Errorf("%q string does not contain %q", string(out), want)
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/syscall_test.go b/src/cmd/vendor/golang.org/x/sys/windows/syscall_test.go
deleted file mode 100644
index d7009e44a5..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/windows/syscall_test.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2013 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 windows_test
-
-import (
- "syscall"
- "testing"
-
- "golang.org/x/sys/windows"
-)
-
-func testSetGetenv(t *testing.T, key, value string) {
- err := windows.Setenv(key, value)
- if err != nil {
- t.Fatalf("Setenv failed to set %q: %v", value, err)
- }
- newvalue, found := windows.Getenv(key)
- if !found {
- t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value)
- }
- if newvalue != value {
- t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value)
- }
-}
-
-func TestEnv(t *testing.T) {
- testSetGetenv(t, "TESTENV", "AVALUE")
- // make sure TESTENV gets set to "", not deleted
- testSetGetenv(t, "TESTENV", "")
-}
-
-func TestGetProcAddressByOrdinal(t *testing.T) {
- // Attempt calling shlwapi.dll:IsOS, resolving it by ordinal, as
- // suggested in
- // https://msdn.microsoft.com/en-us/library/windows/desktop/bb773795.aspx
- h, err := windows.LoadLibrary("shlwapi.dll")
- if err != nil {
- t.Fatalf("Failed to load shlwapi.dll: %s", err)
- }
- procIsOS, err := windows.GetProcAddressByOrdinal(h, 437)
- if err != nil {
- t.Fatalf("Could not find shlwapi.dll:IsOS by ordinal: %s", err)
- }
- const OS_NT = 1
- r, _, _ := syscall.Syscall(procIsOS, 1, OS_NT, 0, 0)
- if r == 0 {
- t.Error("shlwapi.dll:IsOS(OS_NT) returned 0, expected non-zero value")
- }
-}
diff --git a/src/cmd/vendor/golang.org/x/sys/windows/syscall_windows_test.go b/src/cmd/vendor/golang.org/x/sys/windows/syscall_windows_test.go
deleted file mode 100644
index 539dda2413..0000000000
--- a/src/cmd/vendor/golang.org/x/sys/windows/syscall_windows_test.go
+++ /dev/null
@@ -1,92 +0,0 @@
-// 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.
-
-package windows_test
-
-import (
- "io/ioutil"
- "os"
- "path/filepath"
- "syscall"
- "testing"
-
- "golang.org/x/sys/windows"
-)
-
-func TestWin32finddata(t *testing.T) {
- dir, err := ioutil.TempDir("", "go-build")
- if err != nil {
- t.Fatalf("failed to create temp directory: %v", err)
- }
- defer os.RemoveAll(dir)
-
- path := filepath.Join(dir, "long_name.and_extension")
- f, err := os.Create(path)
- if err != nil {
- t.Fatalf("failed to create %v: %v", path, err)
- }
- f.Close()
-
- type X struct {
- fd windows.Win32finddata
- got byte
- pad [10]byte // to protect ourselves
-
- }
- var want byte = 2 // it is unlikely to have this character in the filename
- x := X{got: want}
-
- pathp, _ := windows.UTF16PtrFromString(path)
- h, err := windows.FindFirstFile(pathp, &(x.fd))
- if err != nil {
- t.Fatalf("FindFirstFile failed: %v", err)
- }
- err = windows.FindClose(h)
- if err != nil {
- t.Fatalf("FindClose failed: %v", err)
- }
-
- if x.got != want {
- t.Fatalf("memory corruption: want=%d got=%d", want, x.got)
- }
-}
-
-func TestFormatMessage(t *testing.T) {
- dll := windows.MustLoadDLL("netevent.dll")
-
- const TITLE_SC_MESSAGE_BOX uint32 = 0xC0001B75
- const flags uint32 = syscall.FORMAT_MESSAGE_FROM_HMODULE | syscall.FORMAT_MESSAGE_ARGUMENT_ARRAY | syscall.FORMAT_MESSAGE_IGNORE_INSERTS
- buf := make([]uint16, 300)
- _, err := windows.FormatMessage(flags, uintptr(dll.Handle), TITLE_SC_MESSAGE_BOX, 0, buf, nil)
- if err != nil {
- t.Fatalf("FormatMessage for handle=%x and errno=%x failed: %v", dll.Handle, TITLE_SC_MESSAGE_BOX, err)
- }
-}
-
-func abort(funcname string, err error) {
- panic(funcname + " failed: " + err.Error())
-}
-
-func ExampleLoadLibrary() {
- h, err := windows.LoadLibrary("kernel32.dll")
- if err != nil {
- abort("LoadLibrary", err)
- }
- defer windows.FreeLibrary(h)
- proc, err := windows.GetProcAddress(h, "GetVersion")
- if err != nil {
- abort("GetProcAddress", err)
- }
- r, _, _ := syscall.Syscall(uintptr(proc), 0, 0, 0, 0)
- major := byte(r)
- minor := uint8(r >> 8)
- build := uint16(r >> 16)
- print("windows version ", major, ".", minor, " (Build ", build, ")\n")
-}
-
-func TestTOKEN_ALL_ACCESS(t *testing.T) {
- if windows.TOKEN_ALL_ACCESS != 0xF01FF {
- t.Errorf("TOKEN_ALL_ACCESS = %x, want 0xF01FF", windows.TOKEN_ALL_ACCESS)
- }
-}
diff --git a/src/compress/gzip/gunzip_test.go b/src/compress/gzip/gunzip_test.go
index fdea0c5d5f..1b01404169 100644
--- a/src/compress/gzip/gunzip_test.go
+++ b/src/compress/gzip/gunzip_test.go
@@ -7,6 +7,7 @@ package gzip
import (
"bytes"
"compress/flate"
+ "encoding/base64"
"io"
"io/ioutil"
"os"
@@ -413,11 +414,16 @@ func TestDecompressor(t *testing.T) {
}
func TestIssue6550(t *testing.T) {
- f, err := os.Open("testdata/issue6550.gz")
+ // Apple’s notarization service will recursively attempt to decompress
+ // files in order to find binaries to notarize. Since the service is
+ // unable to decompress this file, it may reject the entire toolchain. Use a
+ // base64-encoded version to avoid this.
+ // See golang.org/issue/34986
+ f, err := os.Open("testdata/issue6550.gz.base64")
if err != nil {
t.Fatal(err)
}
- gzip, err := NewReader(f)
+ gzip, err := NewReader(base64.NewDecoder(base64.StdEncoding, f))
if err != nil {
t.Fatalf("NewReader(testdata/issue6550.gz): %v", err)
}
diff --git a/src/compress/gzip/testdata/issue6550.gz b/src/compress/gzip/testdata/issue6550.gz
deleted file mode 100644
index 82b4af1026..0000000000
--- a/src/compress/gzip/testdata/issue6550.gz
+++ /dev/null
Binary files differ
diff --git a/src/compress/gzip/testdata/issue6550.gz.base64 b/src/compress/gzip/testdata/issue6550.gz.base64
new file mode 100644
index 0000000000..f2509ff5d1
--- /dev/null
+++ b/src/compress/gzip/testdata/issue6550.gz.base64
@@ -0,0 +1 @@
+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
diff --git a/src/crypto/x509/root_windows.go b/src/crypto/x509/root_windows.go
index 74d395df70..3da3d06e73 100644
--- a/src/crypto/x509/root_windows.go
+++ b/src/crypto/x509/root_windows.go
@@ -219,10 +219,26 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
if err != nil {
return nil, err
}
+ if len(chain) < 1 {
+ return nil, errors.New("x509: internal error: system verifier returned an empty chain")
+ }
- chains = append(chains, chain)
+ // Mitigate CVE-2020-0601, where the Windows system verifier might be
+ // tricked into using custom curve parameters for a trusted root, by
+ // double-checking all ECDSA signatures. If the system was tricked into
+ // using spoofed parameters, the signature will be invalid for the correct
+ // ones we parsed. (We don't support custom curves ourselves.)
+ for i, parent := range chain[1:] {
+ if parent.PublicKeyAlgorithm != ECDSA {
+ continue
+ }
+ if err := parent.CheckSignature(chain[i].SignatureAlgorithm,
+ chain[i].RawTBSCertificate, chain[i].Signature); err != nil {
+ return nil, err
+ }
+ }
- return chains, nil
+ return [][]*Certificate{chain}, nil
}
func loadSystemRoots() (*CertPool, error) {
diff --git a/src/debug/macho/file_test.go b/src/debug/macho/file_test.go
index 003c14e69b..cc48d731cb 100644
--- a/src/debug/macho/file_test.go
+++ b/src/debug/macho/file_test.go
@@ -5,6 +5,9 @@
package macho
import (
+ "bytes"
+ "internal/obscuretestdata"
+ "io"
"reflect"
"testing"
)
@@ -19,7 +22,7 @@ type fileTest struct {
var fileTests = []fileTest{
{
- "testdata/gcc-386-darwin-exec",
+ "testdata/gcc-386-darwin-exec.base64",
FileHeader{0xfeedface, Cpu386, 0x3, 0x2, 0xc, 0x3c0, 0x85},
[]interface{}{
&SegmentHeader{LoadCmdSegment, 0x38, "__PAGEZERO", 0x0, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
@@ -45,7 +48,7 @@ var fileTests = []fileTest{
nil,
},
{
- "testdata/gcc-amd64-darwin-exec",
+ "testdata/gcc-amd64-darwin-exec.base64",
FileHeader{0xfeedfacf, CpuAmd64, 0x80000003, 0x2, 0xb, 0x568, 0x85},
[]interface{}{
&SegmentHeader{LoadCmdSegment64, 0x48, "__PAGEZERO", 0x0, 0x100000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
@@ -73,7 +76,7 @@ var fileTests = []fileTest{
nil,
},
{
- "testdata/gcc-amd64-darwin-exec-debug",
+ "testdata/gcc-amd64-darwin-exec-debug.base64",
FileHeader{0xfeedfacf, CpuAmd64, 0x80000003, 0xa, 0x4, 0x5a0, 0},
[]interface{}{
nil, // LC_UUID
@@ -101,7 +104,7 @@ var fileTests = []fileTest{
nil,
},
{
- "testdata/clang-386-darwin-exec-with-rpath",
+ "testdata/clang-386-darwin-exec-with-rpath.base64",
FileHeader{0xfeedface, Cpu386, 0x3, 0x2, 0x10, 0x42c, 0x1200085},
[]interface{}{
nil, // LC_SEGMENT
@@ -125,7 +128,7 @@ var fileTests = []fileTest{
nil,
},
{
- "testdata/clang-amd64-darwin-exec-with-rpath",
+ "testdata/clang-amd64-darwin-exec-with-rpath.base64",
FileHeader{0xfeedfacf, CpuAmd64, 0x80000003, 0x2, 0x10, 0x4c8, 0x200085},
[]interface{}{
nil, // LC_SEGMENT
@@ -149,7 +152,7 @@ var fileTests = []fileTest{
nil,
},
{
- "testdata/clang-386-darwin.obj",
+ "testdata/clang-386-darwin.obj.base64",
FileHeader{0xfeedface, Cpu386, 0x3, 0x1, 0x4, 0x138, 0x2000},
nil,
nil,
@@ -184,7 +187,7 @@ var fileTests = []fileTest{
},
},
{
- "testdata/clang-amd64-darwin.obj",
+ "testdata/clang-amd64-darwin.obj.base64",
FileHeader{0xfeedfacf, CpuAmd64, 0x3, 0x1, 0x4, 0x200, 0x2000},
nil,
nil,
@@ -221,11 +224,47 @@ var fileTests = []fileTest{
},
}
+func readerAtFromObscured(name string) (io.ReaderAt, error) {
+ b, err := obscuretestdata.ReadFile(name)
+ if err != nil {
+ return nil, err
+ }
+ return bytes.NewReader(b), nil
+}
+
+func openObscured(name string) (*File, error) {
+ ra, err := readerAtFromObscured(name)
+ if err != nil {
+ return nil, err
+ }
+ ff, err := NewFile(ra)
+ if err != nil {
+ return nil, err
+ }
+ return ff, nil
+}
+
+func openFatObscured(name string) (*FatFile, error) {
+ ra, err := readerAtFromObscured(name)
+ if err != nil {
+ return nil, err
+ }
+ ff, err := NewFatFile(ra)
+ if err != nil {
+ return nil, err
+ }
+ return ff, nil
+}
+
func TestOpen(t *testing.T) {
for i := range fileTests {
tt := &fileTests[i]
- f, err := Open(tt.file)
+ // Use obscured files to prevent Apple’s notarization service from
+ // mistaking them as candidates for notarization and rejecting the entire
+ // toolchain.
+ // See golang.org/issue/34986
+ f, err := openObscured(tt.file)
if err != nil {
t.Error(err)
continue
@@ -318,7 +357,7 @@ func TestOpenFailure(t *testing.T) {
}
func TestOpenFat(t *testing.T) {
- ff, err := OpenFat("testdata/fat-gcc-386-amd64-darwin-exec")
+ ff, err := openFatObscured("testdata/fat-gcc-386-amd64-darwin-exec.base64")
if err != nil {
t.Fatal(err)
}
@@ -350,8 +389,8 @@ func TestOpenFatFailure(t *testing.T) {
t.Errorf("OpenFat %s: succeeded unexpectedly", filename)
}
- filename = "testdata/gcc-386-darwin-exec" // not a fat Mach-O
- ff, err := OpenFat(filename)
+ filename = "testdata/gcc-386-darwin-exec.base64" // not a fat Mach-O
+ ff, err := openFatObscured(filename)
if err != ErrNotFat {
t.Errorf("OpenFat %s: got %v, want ErrNotFat", filename, err)
}
diff --git a/src/debug/macho/testdata/clang-386-darwin-exec-with-rpath b/src/debug/macho/testdata/clang-386-darwin-exec-with-rpath
deleted file mode 100644
index a8720feb92..0000000000
--- a/src/debug/macho/testdata/clang-386-darwin-exec-with-rpath
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/clang-386-darwin-exec-with-rpath.base64 b/src/debug/macho/testdata/clang-386-darwin-exec-with-rpath.base64
new file mode 100644
index 0000000000..64047f1b1e
--- /dev/null
+++ b/src/debug/macho/testdata/clang-386-darwin-exec-with-rpath.base64
@@ -0,0 +1 @@
+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVYnlg+wY6AAAAABYjYA/AAAAx0X8AAAAAIkEJOgNAAAAMcmJRfiJyIPEGF3DkP8lCCAAAGgEIAAA/yUAIAAAkGgAAAAA6er///9oZWxsbywgd29ybGQKAAEAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAIAAABgDwAANAAAADQAAACODwAAAAAAADQAAAADAAAADAABABAAAQAAAAAAAAAAAAAAAAAAAAAAoB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARIghREiGQH3ABcAJRAAAAEUBkeWxkX3N0dWJfYmluZGVyAFFyAJAAcggRQF9wcmludGYAkAAAAAABXwAFAAJfbWhfZXhlY3V0ZV9oZWFkZXIAIW1haW4AJQIAAAADAOAeAAAA4B4AAAIAAAAPARAAABAAABYAAAAPAQAAYB8AABwAAAABAAABAAAAACQAAAABAAABAAAAAAIAAAADAAAAAAAAQAIAAAAgAF9fbWhfZXhlY3V0ZV9oZWFkZXIAX21haW4AX3ByaW50ZgBkeWxkX3N0dWJfYmluZGVyAAAAAA==
diff --git a/src/debug/macho/testdata/clang-386-darwin.obj b/src/debug/macho/testdata/clang-386-darwin.obj
deleted file mode 100644
index e79dc57a4b..0000000000
--- a/src/debug/macho/testdata/clang-386-darwin.obj
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/clang-386-darwin.obj.base64 b/src/debug/macho/testdata/clang-386-darwin.obj.base64
new file mode 100644
index 0000000000..60a07658c9
--- /dev/null
+++ b/src/debug/macho/testdata/clang-386-darwin.obj.base64
@@ -0,0 +1 @@
+zvrt/gcAAAADAAAAAQAAAAQAAAA4AQAAACAAAAEAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7AAAAVAEAADsAAAAHAAAABwAAAAIAAAAAAAAAX190ZXh0AAAAAAAAAAAAAF9fVEVYVAAAAAAAAAAAAAAAAAAALQAAAFQBAAAEAAAAkAEAAAMAAAAABACAAAAAAAAAAABfX2NzdHJpbmcAAAAAAAAAX19URVhUAAAAAAAAAAAAAC0AAAAOAAAAgQEAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACQAAAAQAAAAAAwKAAAAAAACAAAAGAAAAKgBAAACAAAAwAEAABAAAAALAAAAUAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFWJ5YPsGOgAAAAAWI2AIgAAAMdF/AAAAACJBCTo3////zHJiUX4iciDxBhdw2hlbGxvLCB3b3JsZAoAAB0AAAABAAANDgAApC0AAAAAAAChCwAAAAEAAAAPAQAAAAAAAAcAAAABAAAAAAAAAABfbWFpbgBfcHJpbnRmAAA=
diff --git a/src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath b/src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath
deleted file mode 100644
index 191c7688cb..0000000000
--- a/src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath.base64 b/src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath.base64
new file mode 100644
index 0000000000..26821814cf
--- /dev/null
+++ b/src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath.base64
@@ -0,0 +1 @@
+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVUiJ5UiD7BBIjT07AAAAx0X8AAAAALAA6A0AAAAxyYlF+InISIPEEF3D/yWAAAAATI0dcQAAAEFT/yVhAAAAkGgAAAAA6eb///9oZWxsbywgd29ybGQKAAEAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAIAAABgDwAANAAAADQAAACLDwAAAAAAADQAAAADAAAADAABABAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAACgDwAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARIhBRAAAAABFAZHlsZF9zdHViX2JpbmRlcgBRcgCQAHIQEUBfcHJpbnRmAJAAAAAAAV8ABQACX21oX2V4ZWN1dGVfaGVhZGVyACFtYWluACUCAAAAAwDgHgAAAAAAAADgHgAAAAAAAAIAAAAPARAAAAAAAAEAAAAWAAAADwEAAGAPAAABAAAAHAAAAAEAAAEAAAAAAAAAACQAAAABAAABAAAAAAAAAAACAAAAAwAAAAAAAEACAAAAIABfX21oX2V4ZWN1dGVfaGVhZGVyAF9tYWluAF9wcmludGYAZHlsZF9zdHViX2JpbmRlcgAAAAA=
diff --git a/src/debug/macho/testdata/clang-amd64-darwin.obj b/src/debug/macho/testdata/clang-amd64-darwin.obj
deleted file mode 100644
index 23cc3c1bcb..0000000000
--- a/src/debug/macho/testdata/clang-amd64-darwin.obj
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/clang-amd64-darwin.obj.base64 b/src/debug/macho/testdata/clang-amd64-darwin.obj.base64
new file mode 100644
index 0000000000..b8f1fce988
--- /dev/null
+++ b/src/debug/macho/testdata/clang-amd64-darwin.obj.base64
@@ -0,0 +1 @@
+z/rt/gcAAAEDAAAAAQAAAAQAAAAAAgAAACAAAAAAAAAZAAAAiAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAAAAIAIAAAAAAACYAAAAAAAAAAcAAAAHAAAABAAAAAAAAABfX3RleHQAAAAAAAAAAAAAX19URVhUAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAAAgAgAABAAAALgCAAACAAAAAAQAgAAAAAAAAAAAAAAAAF9fY3N0cmluZwAAAAAAAABfX1RFWFQAAAAAAAAAAAAAKgAAAAAAAAAOAAAAAAAAAEoCAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAX19jb21wYWN0X3Vud2luZF9fTEQAAAAAAAAAAAAAAAA4AAAAAAAAACAAAAAAAAAAWAIAAAMAAADIAgAAAQAAAAAAAAIAAAAAAAAAAAAAAABfX2VoX2ZyYW1lAAAAAAAAX19URVhUAAAAAAAAAAAAAFgAAAAAAAAAQAAAAAAAAAB4AgAAAwAAAAAAAAAAAAAACwAAaAAAAAAAAAAAAAAAACQAAAAQAAAAAAwKAAAAAAACAAAAGAAAANACAAACAAAA8AIAABAAAAALAAAAUAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVIieVIg+wQSI09GwAAAMdF/AAAAACwAOgAAAAAMcmJRfiJyEiDxBBdw2hlbGxvLCB3b3JsZAoAAAAAAAAAAAAqAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAF6UgABeBABEAwHCJABAAAkAAAAHAAAAIj/////////KgAAAAAAAAAAQQ4QhgJDDQYAAAAAAAAAGQAAAAEAAC0LAAAAAgAAFQAAAAABAAAGAQAAAA8BAAAAAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAX21haW4AX3ByaW50ZgAA
diff --git a/src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec b/src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec
deleted file mode 100644
index 7efd19300b..0000000000
--- a/src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec.base64 b/src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec.base64
new file mode 100644
index 0000000000..407d9773c4
--- /dev/null
+++ b/src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec.base64
@@ -0,0 +1 @@
+yv66vgAAAAIAAAAHAAAAAwAAEAAAADEsAAAADAEAAAeAAAADAABQAAAAIUAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagCJ5YPk8IPsEItdBIlcJACNTQiJTCQEg8MBweMCAcuJXCQIiwODwwSFwHX3iVwkDOgsAAAAiUQkAOhZEAAA9OgAAAAAWP+wYwAAAIuAZwAAAP/g6AAAAABYi4BXAAAA/+BVieVTg+wU6AAAAABbjYMaAAAAiQQk6CAQAAC4AAAAAIPEFFvJw2hlbGxvLCB3b3JsZAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQ4I8IEOCPABAAAAwgAAAIIAAABCAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT09PT09PT09AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAeAQAAqB8AABsAAAAeAQAAvB8AAC4AAAAOAwAAECAAAEAAAAAPAwAADCAAAEgAAAAPAwAACCAAAFAAAAAPAwAAACAAAFwAAAADABAAABAAAHAAAAAPAwAABCAAAHkAAAAPAQAAyh8AAH8AAAAPAQAAaB8AAIUAAAABAAECAAAAAIsAAAABAAECAAAAAAoAAAALAAAAIABkeWxkX3N0dWJfYmluZGluZ19oZWxwZXIAX19keWxkX2Z1bmNfbG9va3VwAGR5bGRfX21hY2hfaGVhZGVyAF9OWEFyZ2MAX05YQXJndgBfX19wcm9nbmFtZQBfX21oX2V4ZWN1dGVfaGVhZGVyAF9lbnZpcm9uAF9tYWluAHN0YXJ0AF9leGl0AF9wdXRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADP+u3+BwAAAQMAAIACAAAACwAAAGgFAACFAAAAAAAAABkAAABIAAAAX19QQUdFWkVSTwAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAADYAQAAX19URVhUAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAABwAAAAUAAAAFAAAAAAAAAF9fdGV4dAAAAAAAAAAAAABfX1RFWFQAAAAAAAAAAAAAFA8AAAEAAABtAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoASInlSIPk8EiLfQhIjXUQifqDwgHB4gNIAfJIidHrBEiDwQhIgzkAdfZIg8EI6CIAAACJx+gyAAAA9EFTTI0dp/D//0FT/yW/AAAADx8A/yW+AAAAVUiJ5UiNPTMAAADoDQAAALgAAAAAycP/JdEAAAD/JdMAAAAAAABMjR3BAAAA6bT///9MjR29AAAA6aj///9oZWxsbywgd29ybGQAAAAAFAAAAAAAAAABelIAAXgQARAMBwiQAQAALAAAABwAAACS/////////xcAAAAAAAAAAAQBAAAADhCGAgQDAAAADQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEMBf/38AAAgQwF//fwAAAAAAAAEAAAAYEAAAAQAAABAQAAABAAAACBAAAAEAAAAAEAAAAQAAAJAPAAABAAAAnA8AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAeAQAAUA8AAAEAAAAbAAAAHgEAAGQPAAABAAAALgAAAA8GAAAYEAAAAQAAADYAAAAPBgAAEBAAAAEAAAA+AAAADwYAAAAQAAABAAAASgAAAAMAEAAAAAAAAQAAAF4AAAAPBgAACBAAAAEAAABnAAAADwEAAGoPAAABAAAAbQAAAA8BAAAUDwAAAQAAAHMAAAABAAECAAAAAAAAAAB5AAAAAQABAgAAAAAAAAAACQAAAAoAAAAJAAAACgAAACAAZHlsZF9zdHViX2JpbmRpbmdfaGVscGVyAF9fZHlsZF9mdW5jX2xvb2t1cABfTlhBcmdjAF9OWEFyZ3YAX19fcHJvZ25hbWUAX19taF9leGVjdXRlX2hlYWRlcgBfZW52aXJvbgBfbWFpbgBzdGFydABfZXhpdABfcHV0cwAA
diff --git a/src/debug/macho/testdata/gcc-386-darwin-exec b/src/debug/macho/testdata/gcc-386-darwin-exec
deleted file mode 100644
index 03ba1bafac..0000000000
--- a/src/debug/macho/testdata/gcc-386-darwin-exec
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/gcc-386-darwin-exec.base64 b/src/debug/macho/testdata/gcc-386-darwin-exec.base64
new file mode 100644
index 0000000000..5e40ed6f0d
--- /dev/null
+++ b/src/debug/macho/testdata/gcc-386-darwin-exec.base64
@@ -0,0 +1 @@
+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAInlg+Twg+wQi10EiVwkAI1NCIlMJASDwwHB4wIBy4lcJAiLA4PDBIXAdfeJXCQM6CwAAACJRCQA6FkQAAD06AAAAABY/7BjAAAAi4BnAAAA/+DoAAAAAFiLgFcAAAD/4FWJ5VOD7BToAAAAAFuNgxoAAACJBCToIBAAALgAAAAAg8QUW8nDaGVsbG8sIHdvcmxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABDgjwgQ4I8AEAAADCAAAAggAAAEIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD09PT09PT09PT0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAB4BAACoHwAAGwAAAB4BAAC8HwAALgAAAA4DAAAQIAAAQAAAAA8DAAAMIAAASAAAAA8DAAAIIAAAUAAAAA8DAAAAIAAAXAAAAAMAEAAAEAAAcAAAAA8DAAAEIAAAeQAAAA8BAADKHwAAfwAAAA8BAABoHwAAhQAAAAEAAQIAAAAAiwAAAAEAAQIAAAAACgAAAAsAAAAgAGR5bGRfc3R1Yl9iaW5kaW5nX2hlbHBlcgBfX2R5bGRfZnVuY19sb29rdXAAZHlsZF9fbWFjaF9oZWFkZXIAX05YQXJnYwBfTlhBcmd2AF9fX3Byb2duYW1lAF9fbWhfZXhlY3V0ZV9oZWFkZXIAX2Vudmlyb24AX21haW4Ac3RhcnQAX2V4aXQAX3B1dHMAAAAA
diff --git a/src/debug/macho/testdata/gcc-amd64-darwin-exec b/src/debug/macho/testdata/gcc-amd64-darwin-exec
deleted file mode 100644
index 5155a5a26f..0000000000
--- a/src/debug/macho/testdata/gcc-amd64-darwin-exec
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/gcc-amd64-darwin-exec-debug b/src/debug/macho/testdata/gcc-amd64-darwin-exec-debug
deleted file mode 100644
index a47d3aef78..0000000000
--- a/src/debug/macho/testdata/gcc-amd64-darwin-exec-debug
+++ /dev/null
Binary files differ
diff --git a/src/debug/macho/testdata/gcc-amd64-darwin-exec-debug.base64 b/src/debug/macho/testdata/gcc-amd64-darwin-exec-debug.base64
new file mode 100644
index 0000000000..8884566a18
--- /dev/null
+++ b/src/debug/macho/testdata/gcc-amd64-darwin-exec-debug.base64
@@ -0,0 +1 @@
+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERASUOEwsDDhsOEQESARAGAAACJAALCz4LAw4AAAMuAD8MAw46CzsLJwxJExEBEgFACgAAACwAAAACAAAAAAAIAAAAAABqDwAAAQAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAD/////AQABeBAMBwiQAQAAAAAAACQAAAAAAAAAag8AAAEAAAAXAAAAAAAAAAQBAAAADhCGAgQDAAAADQZQAAAAAgAAAAAACAEBAAAAASUAAAAtAAAAag8AAAEAAACBDwAAAQAAAAAAAAACBAVXAAAAAwFbAAAAAQMBLQAAAGoPAAABAAAAgQ8AAAEAAAABVgBDAAAAAgAbAAAAAQH29QoAAQEBAQAAAAEAaGVsbG8uYwAAAAAAAAkCag8AAAEAAAADAhQDAQIEAQMBAgwBAwECBQECAgABARcAAAACAAAAAABUAAAANAAAAG1haW4AAAAAAABHTlUgQyA0LjAuMSAoQXBwbGUgSW5jLiBidWlsZCA1NDg0KQBoZWxsby5jAC9ob21lL3JzYy9nby9zcmMvcGtnL2RlYnVnL21hY2hvL3Rlc3RkYXRhAGludABtYWluAA==
diff --git a/src/debug/macho/testdata/gcc-amd64-darwin-exec.base64 b/src/debug/macho/testdata/gcc-amd64-darwin-exec.base64
new file mode 100644
index 0000000000..b48ae5657e
--- /dev/null
+++ b/src/debug/macho/testdata/gcc-amd64-darwin-exec.base64
@@ -0,0 +1 @@
+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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAEiJ5UiD5PBIi30ISI11EIn6g8IBweIDSAHySInR6wRIg8EISIM5AHX2SIPBCOgiAAAAicfoMgAAAPRBU0yNHafw//9BU/8lvwAAAA8fAP8lvgAAAFVIieVIjT0zAAAA6A0AAAC4AAAAAMnD/yXRAAAA/yXTAAAAAAAATI0dwQAAAOm0////TI0dvQAAAOmo////aGVsbG8sIHdvcmxkAAAAABQAAAAAAAAAAXpSAAF4EAEQDAcIkAEAACwAAAAcAAAAkv////////8XAAAAAAAAAAAEAQAAAA4QhgIEAwAAAA0GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDAX/9/AAAIEMBf/38AAAAAAAABAAAAGBAAAAEAAAAQEAAAAQAAAAgQAAABAAAAABAAAAEAAACQDwAAAQAAAJwPAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAHgEAAFAPAAABAAAAGwAAAB4BAABkDwAAAQAAAC4AAAAPBgAAGBAAAAEAAAA2AAAADwYAABAQAAABAAAAPgAAAA8GAAAAEAAAAQAAAEoAAAADABAAAAAAAAEAAABeAAAADwYAAAgQAAABAAAAZwAAAA8BAABqDwAAAQAAAG0AAAAPAQAAFA8AAAEAAABzAAAAAQABAgAAAAAAAAAAeQAAAAEAAQIAAAAAAAAAAAkAAAAKAAAACQAAAAoAAAAgAGR5bGRfc3R1Yl9iaW5kaW5nX2hlbHBlcgBfX2R5bGRfZnVuY19sb29rdXAAX05YQXJnYwBfTlhBcmd2AF9fX3Byb2duYW1lAF9fbWhfZXhlY3V0ZV9oZWFkZXIAX2Vudmlyb24AX21haW4Ac3RhcnQAX2V4aXQAX3B1dHMAAA==
diff --git a/src/go/build/deps_test.go b/src/go/build/deps_test.go
index 14616d8ae2..a15c74523f 100644
--- a/src/go/build/deps_test.go
+++ b/src/go/build/deps_test.go
@@ -199,10 +199,11 @@ var pkgDeps = map[string][]string{
"runtime/trace": {"L0", "context", "fmt"},
"text/tabwriter": {"L2"},
- "testing": {"L2", "flag", "fmt", "internal/race", "os", "runtime/debug", "runtime/pprof", "runtime/trace", "time"},
- "testing/iotest": {"L2", "log"},
- "testing/quick": {"L2", "flag", "fmt", "reflect", "time"},
- "internal/testenv": {"L2", "OS", "flag", "testing", "syscall"},
+ "testing": {"L2", "flag", "fmt", "internal/race", "os", "runtime/debug", "runtime/pprof", "runtime/trace", "time"},
+ "testing/iotest": {"L2", "log"},
+ "internal/obscuretestdata": {"L2", "OS", "encoding/base64"},
+ "testing/quick": {"L2", "flag", "fmt", "reflect", "time"},
+ "internal/testenv": {"L2", "OS", "flag", "testing", "syscall"},
// L4 is defined as L3+fmt+log+time, because in general once
// you're using L3 packages, use of fmt, log, or time is not a big deal.
diff --git a/src/internal/obscuretestdata/obscuretestdata.go b/src/internal/obscuretestdata/obscuretestdata.go
new file mode 100644
index 0000000000..512f3759b4
--- /dev/null
+++ b/src/internal/obscuretestdata/obscuretestdata.go
@@ -0,0 +1,51 @@
+// 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 obscuretestdata contains functionality used by tests to more easily
+// work with testdata that must be obscured primarily due to
+// golang.org/issue/34986.
+package obscuretestdata
+
+import (
+ "encoding/base64"
+ "io"
+ "io/ioutil"
+ "os"
+)
+
+// DecodeToTempFile decodes the named file to a temporary location.
+// If successful, it returns the path of the decoded file.
+// The caller is responsible for ensuring that the temporary file is removed.
+func DecodeToTempFile(name string) (path string, err error) {
+ f, err := os.Open(name)
+ if err != nil {
+ return "", err
+ }
+ defer f.Close()
+
+ tmp, err := ioutil.TempFile("", "obscuretestdata-decoded-")
+ if err != nil {
+ return "", err
+ }
+ if _, err := io.Copy(tmp, base64.NewDecoder(base64.StdEncoding, f)); err != nil {
+ tmp.Close()
+ os.Remove(tmp.Name())
+ return "", err
+ }
+ if err := tmp.Close(); err != nil {
+ os.Remove(tmp.Name())
+ return "", err
+ }
+ return tmp.Name(), nil
+}
+
+// ReadFile reads the named file and returns its decoded contents.
+func ReadFile(name string) ([]byte, error) {
+ f, err := os.Open(name)
+ if err != nil {
+ return nil, err
+ }
+ defer f.Close()
+ return ioutil.ReadAll(base64.NewDecoder(base64.StdEncoding, f))
+}
diff --git a/src/internal/x/crypto/cryptobyte/asn1.go b/src/internal/x/crypto/cryptobyte/asn1.go
index 2d40680ddd..758ac3a649 100644
--- a/src/internal/x/crypto/cryptobyte/asn1.go
+++ b/src/internal/x/crypto/cryptobyte/asn1.go
@@ -470,7 +470,8 @@ func (s *String) ReadASN1GeneralizedTime(out *time.Time) bool {
// It reports whether the read was successful.
func (s *String) ReadASN1BitString(out *encoding_asn1.BitString) bool {
var bytes String
- if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 {
+ if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 ||
+ len(bytes)*8/8 != len(bytes) {
return false
}
@@ -740,7 +741,7 @@ func (s *String) readASN1(out *String, outTag *asn1.Tag, skipHeader bool) bool {
length = headerLen + len32
}
- if uint32(int(length)) != length || !s.ReadBytes((*[]byte)(out), int(length)) {
+ if int(length) < 0 || !s.ReadBytes((*[]byte)(out), int(length)) {
return false
}
if skipHeader && !out.Skip(int(headerLen)) {
diff --git a/src/internal/x/crypto/cryptobyte/asn1_test.go b/src/internal/x/crypto/cryptobyte/asn1_test.go
index ca28e3bcfb..f90d768edb 100644
--- a/src/internal/x/crypto/cryptobyte/asn1_test.go
+++ b/src/internal/x/crypto/cryptobyte/asn1_test.go
@@ -31,6 +31,10 @@ var readASN1TestData = []readASN1Test{
{"non-minimal length", append([]byte{0x30, 0x82, 0, 0x80}, make([]byte, 0x80)...), 0x30, false, nil},
{"invalid tag", []byte{0xa1, 3, 0x4, 1, 1}, 31, false, nil},
{"high tag", []byte{0x1f, 0x81, 0x80, 0x01, 2, 1, 2}, 0xff /* actually 0x4001, but tag is uint8 */, false, nil},
+ {"2**31 - 1 length", []byte{0x30, 0x84, 0x7f, 0xff, 0xff, 0xff}, 0x30, false, nil},
+ {"2**32 - 1 length", []byte{0x30, 0x84, 0xff, 0xff, 0xff, 0xff}, 0x30, false, nil},
+ {"2**63 - 1 length", []byte{0x30, 0x88, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, 0x30, false, nil},
+ {"2**64 - 1 length", []byte{0x30, 0x88, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, 0x30, false, nil},
}
func TestReadASN1(t *testing.T) {
diff --git a/src/internal/x/crypto/cryptobyte/string.go b/src/internal/x/crypto/cryptobyte/string.go
index bd2ed2e207..a3ecf63828 100644
--- a/src/internal/x/crypto/cryptobyte/string.go
+++ b/src/internal/x/crypto/cryptobyte/string.go
@@ -24,7 +24,7 @@ type String []byte
// read advances a String by n bytes and returns them. If less than n bytes
// remain, it returns nil.
func (s *String) read(n int) []byte {
- if len(*s) < n {
+ if len(*s) < n || n < 0 {
return nil
}
v := (*s)[:n]
@@ -105,11 +105,6 @@ func (s *String) readLengthPrefixed(lenLen int, outChild *String) bool {
length = length << 8
length = length | uint32(b)
}
- if int(length) < 0 {
- // This currently cannot overflow because we read uint24 at most, but check
- // anyway in case that changes in the future.
- return false
- }
v := s.read(int(length))
if v == nil {
return false
diff --git a/src/net/http/transport.go b/src/net/http/transport.go
index e946760963..df41cbd774 100644
--- a/src/net/http/transport.go
+++ b/src/net/http/transport.go
@@ -1309,15 +1309,16 @@ func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (*persistCon
if hdr == nil {
hdr = make(Header)
}
+ if pa := cm.proxyAuth(); pa != "" {
+ hdr = hdr.clone()
+ hdr.Set("Proxy-Authorization", pa)
+ }
connectReq := &Request{
Method: "CONNECT",
URL: &url.URL{Opaque: cm.targetAddr},
Host: cm.targetAddr,
Header: hdr,
}
- if pa := cm.proxyAuth(); pa != "" {
- connectReq.Header.Set("Proxy-Authorization", pa)
- }
connectReq.Write(conn)
// Read response.
diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go
index 5e5438a708..a2f95911d9 100644
--- a/src/net/http/transport_test.go
+++ b/src/net/http/transport_test.go
@@ -1371,6 +1371,47 @@ func TestTransportDialPreservesNetOpProxyError(t *testing.T) {
}
}
+// Issue 36431: calls to RoundTrip should not mutate t.ProxyConnectHeader.
+//
+// (A bug caused dialConn to instead write the per-request Proxy-Authorization
+// header through to the shared Header instance, introducing a data race.)
+func TestTransportProxyDialDoesNotMutateProxyConnectHeader(t *testing.T) {
+ setParallel(t)
+ defer afterTest(t)
+
+ proxy := httptest.NewTLSServer(NotFoundHandler())
+ defer proxy.Close()
+ c := proxy.Client()
+
+ tr := c.Transport.(*Transport)
+ tr.Proxy = func(*Request) (*url.URL, error) {
+ u, _ := url.Parse(proxy.URL)
+ u.User = url.UserPassword("aladdin", "opensesame")
+ return u, nil
+ }
+ h := tr.ProxyConnectHeader
+ if h == nil {
+ h = make(Header)
+ }
+ tr.ProxyConnectHeader = make(Header, len(h))
+ for k, vals := range h {
+ tr.ProxyConnectHeader[k] = append([]string(nil), vals...)
+ }
+
+ req, err := NewRequest("GET", "https://golang.fake.tld/", nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ _, err = c.Do(req)
+ if err == nil {
+ t.Errorf("unexpected Get success")
+ }
+
+ if !reflect.DeepEqual(tr.ProxyConnectHeader, h) {
+ t.Errorf("tr.ProxyConnectHeader = %v; want %v", tr.ProxyConnectHeader, h)
+ }
+}
+
// TestTransportGzipRecursive sends a gzip quine and checks that the
// client gets the same value back. This is more cute than anything,
// but checks that we don't recurse forever, and checks that
diff --git a/src/runtime/memmove_arm64.s b/src/runtime/memmove_arm64.s
index dcbead8cf4..4b6b4965af 100644
--- a/src/runtime/memmove_arm64.s
+++ b/src/runtime/memmove_arm64.s
@@ -22,7 +22,7 @@ check:
CMP R3, R4
BLT backward
- // Copying forward proceeds by copying R7/8 words then copying R6 bytes.
+ // Copying forward proceeds by copying R7/32 quadwords then R6 <= 31 tail bytes.
// R3 and R4 are advanced as we copy.
// (There may be implementations of armv8 where copying by bytes until
@@ -30,11 +30,12 @@ check:
// optimization, but the on the one tested so far (xgene) it did not
// make a significance difference.)
- CBZ R7, noforwardlarge // Do we need to do any doubleword-by-doubleword copying?
+ CBZ R7, noforwardlarge // Do we need to do any quadword copying?
ADD R3, R7, R9 // R9 points just past where we copy by word
forwardlargeloop:
+ // Copy 32 bytes at a time.
LDP.P 32(R4), (R8, R10)
STP.P (R8, R10), 32(R3)
LDP -16(R4), (R11, R12)
@@ -43,10 +44,26 @@ forwardlargeloop:
CBNZ R7, forwardlargeloop
noforwardlarge:
- CBNZ R6, forwardtail // Do we need to do any byte-by-byte copying?
+ CBNZ R6, forwardtail // Do we need to copy any tail bytes?
RET
forwardtail:
+ // There are R6 <= 31 bytes remaining to copy.
+ // This is large enough to still contain pointers,
+ // which must be copied atomically.
+ // Copy the next 16 bytes, then 8 bytes, then any remaining bytes.
+ TBZ $4, R6, 3(PC) // write 16 bytes if R6&16 != 0
+ LDP.P 16(R4), (R8, R10)
+ STP.P (R8, R10), 16(R3)
+
+ TBZ $3, R6, 3(PC) // write 8 bytes if R6&8 != 0
+ MOVD.P 8(R4), R8
+ MOVD.P R8, 8(R3)
+
+ AND $7, R6
+ CBNZ R6, 2(PC)
+ RET
+
ADD R3, R6, R9 // R9 points just past the destination memory
forwardtailloop:
@@ -90,7 +107,7 @@ copy1:
RET
backward:
- // Copying backwards proceeds by copying R6 bytes then copying R7/8 words.
+ // Copying backwards first copies R6 <= 31 tail bytes, then R7/32 quadwords.
// R3 and R4 are advanced to the end of the destination/source buffers
// respectively and moved back as we copy.
@@ -99,13 +116,28 @@ backward:
CBZ R6, nobackwardtail // Do we need to do any byte-by-byte copying?
- SUB R6, R3, R9 // R9 points at the lowest destination byte that should be copied by byte.
+ AND $7, R6, R12
+ CBZ R12, backwardtaillarge
+
+ SUB R12, R3, R9 // R9 points at the lowest destination byte that should be copied by byte.
backwardtailloop:
+ // Copy sub-pointer-size tail.
MOVBU.W -1(R4), R8
MOVBU.W R8, -1(R3)
CMP R9, R3
BNE backwardtailloop
+backwardtaillarge:
+ // Do 8/16-byte write if possible.
+ // See comment at forwardtail.
+ TBZ $3, R6, 3(PC)
+ MOVD.W -8(R4), R8
+ MOVD.W R8, -8(R3)
+
+ TBZ $4, R6, 3(PC)
+ LDP.W -16(R4), (R8, R10)
+ STP.W (R8, R10), -16(R3)
+
nobackwardtail:
CBNZ R7, backwardlarge // Do we need to do any doubleword-by-doubleword copying?
RET
diff --git a/src/runtime/os_windows.go b/src/runtime/os_windows.go
index d3e84fe3dc..a278dddc57 100644
--- a/src/runtime/os_windows.go
+++ b/src/runtime/os_windows.go
@@ -49,6 +49,7 @@ const (
//go:cgo_import_dynamic runtime._VirtualFree VirtualFree%3 "kernel32.dll"
//go:cgo_import_dynamic runtime._VirtualQuery VirtualQuery%3 "kernel32.dll"
//go:cgo_import_dynamic runtime._WaitForSingleObject WaitForSingleObject%2 "kernel32.dll"
+//go:cgo_import_dynamic runtime._WaitForMultipleObjects WaitForMultipleObjects%4 "kernel32.dll"
//go:cgo_import_dynamic runtime._WriteConsoleW WriteConsoleW%5 "kernel32.dll"
//go:cgo_import_dynamic runtime._WriteFile WriteFile%5 "kernel32.dll"
@@ -96,6 +97,7 @@ var (
_VirtualFree,
_VirtualQuery,
_WaitForSingleObject,
+ _WaitForMultipleObjects,
_WriteConsoleW,
_WriteFile,
_ stdFunction
@@ -138,7 +140,8 @@ func tstart_stdcall(newm *m) uint32
func ctrlhandler(_type uint32) uint32
type mOS struct {
- waitsema uintptr // semaphore for parking on locks
+ waitsema uintptr // semaphore for parking on locks
+ resumesema uintptr // semaphore to indicate suspend/resume
}
//go:linkname os_sigpipe os.sigpipe
@@ -257,6 +260,53 @@ func loadOptionalSyscalls() {
}
}
+func monitorSuspendResume() {
+ const (
+ _DEVICE_NOTIFY_CALLBACK = 2
+ _ERROR_FILE_NOT_FOUND = 2
+ )
+ type _DEVICE_NOTIFY_SUBSCRIBE_PARAMETERS struct {
+ callback uintptr
+ context uintptr
+ }
+
+ powrprof := windowsLoadSystemLib([]byte("powrprof.dll\000"))
+ if powrprof == 0 {
+ return // Running on Windows 7, where we don't need it anyway.
+ }
+ powerRegisterSuspendResumeNotification := windowsFindfunc(powrprof, []byte("PowerRegisterSuspendResumeNotification\000"))
+ if powerRegisterSuspendResumeNotification == nil {
+ return // Running on Windows 7, where we don't need it anyway.
+ }
+ var fn interface{} = func(context uintptr, changeType uint32, setting uintptr) uintptr {
+ for mp := (*m)(atomic.Loadp(unsafe.Pointer(&allm))); mp != nil; mp = mp.alllink {
+ if mp.resumesema != 0 {
+ stdcall1(_SetEvent, mp.resumesema)
+ }
+ }
+ return 0
+ }
+ params := _DEVICE_NOTIFY_SUBSCRIBE_PARAMETERS{
+ callback: compileCallback(*efaceOf(&fn), true),
+ }
+ handle := uintptr(0)
+ ret := stdcall3(powerRegisterSuspendResumeNotification, _DEVICE_NOTIFY_CALLBACK,
+ uintptr(unsafe.Pointer(&params)), uintptr(unsafe.Pointer(&handle)))
+ // This function doesn't use GetLastError(), so we use the return value directly.
+ switch ret {
+ case 0:
+ return // Successful, nothing more to do.
+ case _ERROR_FILE_NOT_FOUND:
+ // Systems without access to the suspend/resume notifier
+ // also have their clock on "program time", and therefore
+ // don't want or need this anyway.
+ return
+ default:
+ println("runtime: PowerRegisterSuspendResumeNotification failed with errno=", ret)
+ throw("runtime: PowerRegisterSuspendResumeNotification failure")
+ }
+}
+
//go:nosplit
func getLoadLibrary() uintptr {
return uintptr(unsafe.Pointer(_LoadLibraryW))
@@ -487,6 +537,10 @@ func goenvs() {
}
stdcall1(_FreeEnvironmentStringsW, uintptr(strings))
+
+ // We call this all the way here, late in init, so that malloc works
+ // for the callback function this generates.
+ monitorSuspendResume()
}
// exiting is set to non-zero when the process is exiting.
@@ -605,19 +659,32 @@ func semasleep(ns int64) int32 {
_WAIT_FAILED = 0xFFFFFFFF
)
- // store ms in ns to save stack space
+ var result uintptr
if ns < 0 {
- ns = _INFINITE
+ result = stdcall2(_WaitForSingleObject, getg().m.waitsema, uintptr(_INFINITE))
} else {
- ns = int64(timediv(ns, 1000000, nil))
- if ns == 0 {
- ns = 1
+ start := nanotime()
+ elapsed := int64(0)
+ for {
+ ms := int64(timediv(ns-elapsed, 1000000, nil))
+ if ms == 0 {
+ ms = 1
+ }
+ result = stdcall4(_WaitForMultipleObjects, 2,
+ uintptr(unsafe.Pointer(&[2]uintptr{getg().m.waitsema, getg().m.resumesema})),
+ 0, uintptr(ms))
+ if result != _WAIT_OBJECT_0+1 {
+ // Not a suspend/resume event
+ break
+ }
+ elapsed = nanotime() - start
+ if elapsed >= ns {
+ return -1
+ }
}
}
-
- result := stdcall2(_WaitForSingleObject, getg().m.waitsema, uintptr(ns))
switch result {
- case _WAIT_OBJECT_0: //signaled
+ case _WAIT_OBJECT_0: // Signaled
return 0
case _WAIT_TIMEOUT:
@@ -666,6 +733,15 @@ func semacreate(mp *m) {
throw("runtime.semacreate")
})
}
+ mp.resumesema = stdcall4(_CreateEventA, 0, 0, 0, 0)
+ if mp.resumesema == 0 {
+ systemstack(func() {
+ print("runtime: createevent failed; errno=", getlasterror(), "\n")
+ throw("runtime.semacreate")
+ })
+ stdcall1(_CloseHandle, mp.waitsema)
+ mp.waitsema = 0
+ }
}
// May run with m.p==nil, so write barriers are not allowed. This
diff --git a/src/runtime/syscall_windows.go b/src/runtime/syscall_windows.go
index 36ad7511af..920468286b 100644
--- a/src/runtime/syscall_windows.go
+++ b/src/runtime/syscall_windows.go
@@ -74,16 +74,18 @@ func compileCallback(fn eface, cleanstack bool) (code uintptr) {
argsize += uintptrSize
}
- lock(&cbs.lock)
- defer unlock(&cbs.lock)
+ lock(&cbs.lock) // We don't unlock this in a defer because this is used from the system stack.
n := cbs.n
for i := 0; i < n; i++ {
if cbs.ctxt[i].gobody == fn.data && cbs.ctxt[i].isCleanstack() == cleanstack {
- return callbackasmAddr(i)
+ r := callbackasmAddr(i)
+ unlock(&cbs.lock)
+ return r
}
}
if n >= cb_max {
+ unlock(&cbs.lock)
throw("too many callback functions")
}
@@ -99,7 +101,9 @@ func compileCallback(fn eface, cleanstack bool) (code uintptr) {
cbs.ctxt[n] = c
cbs.n++
- return callbackasmAddr(n)
+ r := callbackasmAddr(n)
+ unlock(&cbs.lock)
+ return r
}
const _LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x00000800
diff --git a/src/runtime/type.go b/src/runtime/type.go
index f7f99924ea..a393da19f7 100644
--- a/src/runtime/type.go
+++ b/src/runtime/type.go
@@ -290,7 +290,7 @@ func (t *_type) textOff(off textOff) unsafe.Pointer {
for i := range md.textsectmap {
sectaddr := md.textsectmap[i].vaddr
sectlen := md.textsectmap[i].length
- if uintptr(off) >= sectaddr && uintptr(off) <= sectaddr+sectlen {
+ if uintptr(off) >= sectaddr && uintptr(off) < sectaddr+sectlen {
res = md.textsectmap[i].baseaddr + uintptr(off) - uintptr(md.textsectmap[i].vaddr)
break
}